暂不讨论在使用系统的情况,就裸机讨论。
1.在一般的情况下,对于串口通信的数据接收,使用的是外部中断的方式进行。但是在时序要求比较严格的时候,外部中断是可能影响程序时序的。
2.在串口接收函数 USART_GetFlagStatus()中,每次最大的接收是两个字节的数据,那么在扫描速度足够快的情况下,使用扫描接收的方式是可以确保数据的正确接收的。可以用使用100us的定时中断,对串口进行扫描接收处理。
3.可以建立两条时间线,一条专门做串口接收处理,这样就不会影响主时间线的时序了。(rs485也是同理,因为本质上rs485也是串口通信,只是加入了485模块)
关于在32位单片机中使用定时器做串口通信数据接收处理
于 2022-02-24 13:44:37 首次发布