如此简单cc66 发表于 2021-7-30 15:29:14

关于使用中断接收,轮循发送的问题

使用中断接收数据,将接收数据放入消息队列,在RTOS中创建了发送任务,发送动作执行完成后添加延时。
发现当延时时间较短如5ms情况下,程序执行一段时间后会卡死在接收中断查询状态寄存器的位置,
当延时时间长如500ms情况下,程序不会卡死,但是会出现丢包现象。
想不出其中原因,希望可以获得指点

蓝点无限 发表于 2021-7-31 22:23:52

目前我们还没用到RTOS,但是你说的卡死到读取寄存器,这个有点不解,读寄存器为何会卡死?

如此简单cc66 发表于 2021-8-4 10:36:14

蓝点无限 发表于 2021-7-31 22:23
目前我们还没用到RTOS,但是你说的卡死到读取寄存器,这个有点不解,读寄存器为何会卡死?

while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG_BIT_MASK | SYS_STATUS_ALL_RX_ERR )))
{ };
运行一会,会卡在这个函数处,status_reg的值为0超时了,但是这个时候是有数据发过来的
页: [1]
查看完整版本: 关于使用中断接收,轮循发送的问题