hc32l110 uart收发导致程序卡死
在高速收发中,发送数据和接收不可同时进行,否则M0P_UART0->ISR_f.TI 不会置1,手册上有写,但应该是能避免的,**处理,避免一下 L110UART接收和发送共用一个buf寄存器,你只能分时,不能同时。 可以用DMA试试吧 收发的话,一般也是不能同时的吧 其实MCU都是流程化的执行,单线程,不能实现收发同时实现的 你这程序咋能实现收发同时啊? 用DMA接收和发送是不是能好点 卡死那不是正常么,不能同时收发啊 建议还是一发一收这样比较合适合理 必须要分时复用的,其实你说同时收发,MCU也是分时处理 估计是你存储缓存数据这块,有点问题的吧 那你分时用的话,是不是就好多了哦 测试了例程,哪怕把接收关了,但是如果在发送的时候接收到数据,也会卡死在M0P_UART0->ISR_f.TI 查询,该位不会再置1. 如果在中断服务程序中存在错误,可能会导致程序卡死。 如果多个任务或中断同时访问串口资源,可能会导致资源竞争和死锁。 数据缓冲区溢出? 检查电源和地线是否正常。
页:
[1]