BIOS三个任务,串口外部还回模式,硬件上通过FPGA还回
任务一:产生命令字符串,发送第一个字符;
等待收到信号量1,打印收缓冲区的字符
任务二:收到信号量2,发送一个字符;
断点()
发送完成,关闭发送中断;
任务三:收到信号量3,接收一个字符;
收到字符判断命令,接收完成释放信号量1
串口ISR:通过IIR_INTID判断收发状态,
INTID=1释放信号量2
INTID=2释放信号量3
如此循环测试,断点在发送一个字符处,能够正常还回,发什么能正常收到什么;不加断点,测试发现发送完一条命令后,接收完全不对,字符数目也不够
怀疑收发中断并发有问题,因此在断点处添加时延,Task_sleep(1);然后就正常了
请教各位专家,此处怎么处理,难道发的过程就不能收吗?为什么TI的中断信号不能够分开用bit表示,有中断就都可以处理,只有一个INTID