打印
[技术问答]

在赛元MCU的SSI/USCI 中,UART 通讯使用注意事项

[复制链接]
736|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2024-6-3 14:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在赛元MCU的SSI/USCI中,UART通讯使用时需要注意以下几点事项,以确保通讯的稳定性和正确性:

中断标志管理:
USCI的UART发送中断标志(TI)和接收中断标志(RI)位于同一个寄存器上,该寄存器不支持位操作。
当UART进行全双工通信时,发送和接收中断可能同时产生或间隔时间很短,这可能导致TI或RI被误清除,造成中断丢失的风险。
解决策略:
在全双工通信中,通信需要有容错机制,确保不会因为某次中断丢失就导致通讯崩溃。
在发送数据后,不应仅仅依赖发送标志来判断发送是否完成,需要加入超时监测机制。
通信双方的配合:
特别注意通信双方的配合和通信逻辑的正确性。
做好通信的错误冗余,确保不会因为某一次或某几次通信错误就导致通信终止。
解决策略:
在通信超过一定时间没有接收到正确的数据后,重新启动通信。
重新启动通信包括通信相关的寄存器清零再重新配置,以及通信使用到的一些变量(如数据缓存数组和计数的相关变量)都要进行清零。
引脚配置:
使用UART时,需要将其对应的TX口设置为输入带上拉模式,保证TX口在空闲时为高电平。
UART0不可直接发送SFR寄存器的值,若要通过UART0发出SFR的值,请先将SFR的值赋值给一个临时变量,再将临时变量赋值给SBUF。
波特率配置:
根据所使用的赛元MCU型号和设置要求,正确配置UART的波特率。
注意,不同型号的MCU在使用UART时,对于波特率发生器的配置可能会有所不同。
通信协议和参数匹配:
确保通信双方的协议和参数(如波特率、数据位、校验位、停止位等)设置一致。
错误处理和重启:
在通信过程中,需要定期检查错误标志位,并采取相应的错误处理策略。
如需重启通信,确保按照上述步骤正确配置和重启。
电源和稳定性:
确保MCU及其相关电路的电源供应稳定可靠。
对于敏感于外部电磁干扰的UART通讯,应注意减小电路的敏感区域,合理布局信号线和电源线,使用屏蔽设计、地线分离和滤波电路等手段提高抗干扰能力。
通过遵循以上注意事项,可以大大提高赛元MCU的SSI/USCI中UART通讯的稳定性和正确性。

使用特权

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

本版积分规则

2038

主题

7366

帖子

10

粉丝