新手上路
- 积分
- 25
- 金钱
- 25
- 注册时间
- 2020-7-17
- 在线时间
- 10 小时
|
求助原子哥,目前用了usart1和usart2两个串口,usart1使用了定时器中断,每30ms触发一次中断并通过usart1向上位机发送一帧数据,usart2每1s发生一次接收中断并将接收到的数据通过usart1向上位机发送一帧数据,定时器和usart2的中断优先级(包括抢占式和子优先级)怎么设置都不行,要么是定时器中断时向上位机发送的数据帧破坏了usart2接收中断时向上位机发送数据帧的完整性,要么反过来破坏完整性(说的太绕了哈),后来查找网上说usart2中断可以增加USART_ITConfig(USART3, USART_IT_IDLE, ENABLE)这样的类似代码来保证接收数据为一帧数据,但是我看了代码,这种方法还是没有屏蔽接收一个字节的中断触发,只不过利用IDLE来判断接收一帧数据是否接收完毕,接收数据帧中间还是有可能被高优先级的定时器中断给中断掉的。有没有其他好的方法? |
|