PIC单片机论坛
直播中

tinhaode

10年用户 15经验值
擅长:控制/MCU
私信 关注
[问答]

pic的接收中断的同时进行发送会出现乱码


使用pic18f45k80单独的接收中断和发送中断正常,但是一起的时候回出现乱码。
测试过程:
1.程序设置了接收缓冲区,接收了8个字节就发送那8个字节回去。前边8个字节接收正常,后面的就乱了,然后调试中发现接收缓冲区只有前8个字节是正常的。
2.单独测试,只发送或只接收正常。
3.测试接收80个字节然后发送,刚好第80个字节出错。
4.加入错误帧检测,发现一有发送就错误
         我想请问怎样可以同时发送加接收?难道要判断接收完在发送?
已退回10积分

回帖(2)

人中狼

2017-7-1 08:44:22
没有用过pic,不过要做完全的全双工通讯,我认为发送和接收缓存区必须是分开的,而且操作也必须要独立,有独立的发送或接收指针,有独立的状态判断等等,即使是象你的测试那样接收一定的数据后,再将数据返回发送出去,也应该是把接收缓存的数据移动到发送缓存后再进行发送操作。
全双工的问题在于缓存区的操作处理,和同时接收发送的操作处理。共用缓存很容易会出现缓存覆盖等问题,还有缓存区满等的异常处理问题。
举报

tinhaode

2017-7-3 09:52:36
我发送缓存和接收缓存度是分开,发送的时候会用一个数组隔开了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分