打印

STM32F103的模拟串口最多支持多少波特率?

[复制链接]
222|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
B1lanche|  楼主 | 2025-3-20 11:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果现用的MCU只支持2个串口,先项目需要3个串口,你们一般怎么办?方式1:扩展芯片
方式2:模拟串口
方式3:更换芯片
你们会选择哪种?
还有就是STM32F103的模拟串口的话,一般支持多少波特率?

使用特权

评论回复
沙发
yangjiaxu| | 2025-3-20 11:43 | 只看该作者

STM32F103的模拟串口最多支持多少波特率?

如果项目量不大,而且设计PCB比较麻烦的话,我会选择模拟串口。如果能保证2个串口外设不会同时工作时,我才会选择扩展芯片解决该问题。最后说的,更换芯片成本会变化,而且还需要改电路之类的,所以非必要不会改。
你的第二个问题是模拟串口最大支持的波特率,我一般用9600完全够用,其他的高一些的波特率我不太清楚

使用特权

评论回复
板凳
Wordsworth| | 2025-3-21 08:02 | 只看该作者
如果只需要短距离、低速通信,可以用 GPIO + 定时器 来模拟UART,9600bps以内还是可行的,但CPU占用会比较高。

使用特权

评论回复
地板
Bblythe| | 2025-3-21 08:04 | 只看该作者
另一种方案是用 CAN 或 I2C 代替UART,某些情况下主从通信可以减少对独立串口的需求。

使用特权

评论回复
5
Pulitzer| | 2025-3-21 08:05 | 只看该作者
你的应用是需要全双工还是半双工?如果是半双工,多个设备可以共用一个串口,软件上做时分复用。

使用特权

评论回复
6
Uriah| | 2025-3-21 08:06 | 只看该作者
如果MCU有 USART 并支持 LIN 总线模式,可以看看是否能通过协议方式减少串口数量需求。

使用特权

评论回复
7
Clyde011| | 2025-3-21 08:08 | 只看该作者
具体怎么选方案要看项目需求,如果数据量大、实时性高,那换MCU最直接,如果预算有限可以考虑扩展芯片或模拟方式。

使用特权

评论回复
8
公羊子丹| | 2025-3-21 08:09 | 只看该作者
STM32F103的模拟串口波特率主要取决于GPIO的切换速度和定时器精度,一般可靠的上限在115200bps,再高可能会丢数据。

使用特权

评论回复
9
周半梅| | 2025-3-21 08:10 | 只看该作者
如果项目对实时性要求高,我会优先考虑换个带更多硬件串口的MCU,比如F103的高端型号或者直接上F4系列。

使用特权

评论回复
10
帛灿灿| | 2025-3-21 08:11 | 只看该作者
用软件模拟串口(bit-bang)方式,在低速(9600bps或以下)时还能稳定,但如果波特率要求高,建议用DMA+UART扩展更靠谱。

使用特权

评论回复
11
童雨竹| | 2025-3-21 08:13 | 只看该作者
扩展串口芯片(如CH438、SC16IS750等)可以解决问题,但会增加硬件成本,而且SPI/I2C访问有一定延迟,实时性比不上硬件串口。

使用特权

评论回复
12
万图| | 2025-3-21 08:14 | 只看该作者
你可以试试看用 USART+RS485,如果只是多个设备轮询通信的话,能用单总线减少串口需求。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

85

主题

1766

帖子

2

粉丝