2020-02-11 10:00发布
snail_dongbin 发表于 2016-3-14 12:27 首先你要弄明白一个问题,串口是一个一个接,无论什么单片机 什么pc 都是一样的,只不过人家封装的好,协议 ...
zjipc 发表于 2016-3-14 21:46 我处理程序也是放在其他中断里,对时间的要求比较高,我是怕频繁串口中断影响了其他中断服务程序,上一次 ...
最多设置5个标签!
或者使用接收超时,接收一个字节后,如果超过2~3个波特率间隔没有收到新的字节 就可以决定 这个数据包已经传输完毕了。
或者使用环形队列,串口中断只负责放数据进去缓冲区。然后在主函数或者定时器判断缓冲区是否有数据,且处理。
我处理程序也是放在其他中断里,对时间的要求比较高,我是怕频繁串口中断影响了其他中断服务程序,上一次,我串口发送数据放在中断里,波特率设成9600,其他程序就不能正常的执行了,后来改成115200,其他程序就能正常执行
发送放中断里还9600 ,不等才怪
串口发送一般可以用发送中断,高级点的可以用dma
波特率我一般都是115200 结尾用校验码。从没出过问题
一周热门 更多>