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

[复制链接]
6980|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,某些情况下主从通信可以减少对独立串口的需求。
Pulitzer 发表于 2025-3-21 08:05 | 显示全部楼层
你的应用是需要全双工还是半双工?如果是半双工,多个设备可以共用一个串口,软件上做时分复用。
Uriah 发表于 2025-3-21 08:06 | 显示全部楼层
如果MCU有 USART 并支持 LIN 总线模式,可以看看是否能通过协议方式减少串口数量需求。
Clyde011 发表于 2025-3-21 08:08 | 显示全部楼层
具体怎么选方案要看项目需求,如果数据量大、实时性高,那换MCU最直接,如果预算有限可以考虑扩展芯片或模拟方式。
公羊子丹 发表于 2025-3-21 08:09 | 显示全部楼层
STM32F103的模拟串口波特率主要取决于GPIO的切换速度和定时器精度,一般可靠的上限在115200bps,再高可能会丢数据。
周半梅 发表于 2025-3-21 08:10 | 显示全部楼层
如果项目对实时性要求高,我会优先考虑换个带更多硬件串口的MCU,比如F103的高端型号或者直接上F4系列。
帛灿灿 发表于 2025-3-21 08:11 | 显示全部楼层
用软件模拟串口(bit-bang)方式,在低速(9600bps或以下)时还能稳定,但如果波特率要求高,建议用DMA+UART扩展更靠谱。
童雨竹 发表于 2025-3-21 08:13 | 显示全部楼层
扩展串口芯片(如CH438、SC16IS750等)可以解决问题,但会增加硬件成本,而且SPI/I2C访问有一定延迟,实时性比不上硬件串口。
万图 发表于 2025-3-21 08:14 | 显示全部楼层
你可以试试看用 USART+RS485,如果只是多个设备轮询通信的话,能用单总线减少串口需求。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

104

主题

1852

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部