starstarry 发表于 2023-6-28 13:46

hc32l110 uart收发导致程序卡死

在高速收发中,发送数据和接收不可同时进行,否则M0P_UART0->ISR_f.TI 不会置1,手册上有写,但应该是能避免的,**处理,避免一下

wubangmi 发表于 2023-6-28 13:50

L110UART接收和发送共用一个buf寄存器,你只能分时,不能同时。

g0d5xs 发表于 2023-9-13 11:41

可以用DMA试试吧

d1ng2x 发表于 2023-9-13 12:48

收发的话,一般也是不能同时的吧

w2nme1ai7 发表于 2023-9-13 13:52

其实MCU都是流程化的执行,单线程,不能实现收发同时实现的

zhizia4f 发表于 2023-9-13 15:02

你这程序咋能实现收发同时啊?

tax2r6c 发表于 2023-9-13 17:13

用DMA接收和发送是不是能好点

lamanius 发表于 2023-9-13 18:22

卡死那不是正常么,不能同时收发啊

y1n9an 发表于 2023-9-14 07:04

建议还是一发一收这样比较合适合理

lix1yr 发表于 2023-9-14 09:10

必须要分时复用的,其实你说同时收发,MCU也是分时处理

ex7s4 发表于 2023-9-14 10:25

估计是你存储缓存数据这块,有点问题的吧

p0gon9y 发表于 2023-9-14 12:07

那你分时用的话,是不是就好多了哦

午夜霓虹 发表于 2024-1-5 07:24

测试了例程,哪怕把接收关了,但是如果在发送的时候接收到数据,也会卡死在M0P_UART0->ISR_f.TI 查询,该位不会再置1.

jcky001 发表于 2024-1-31 10:13

如果在中断服务程序中存在错误,可能会导致程序卡死。

cr315 发表于 2024-1-31 10:13

如果多个任务或中断同时访问串口资源,可能会导致资源竞争和死锁。

elephant00 发表于 2024-1-31 10:13

数据缓冲区溢出?

两只袜子 发表于 2024-1-31 10:14

检查电源和地线是否正常。
页: [1]
查看完整版本: hc32l110 uart收发导致程序卡死