51uwb.cn

标题: 关于使用中断接收,轮循发送的问题 [打印本页]

作者: 如此简单cc66    时间: 2021-7-30 15:29
标题: 关于使用中断接收,轮循发送的问题
使用中断接收数据,将接收数据放入消息队列,在RTOS中创建了发送任务,发送动作执行完成后添加延时。
发现当延时时间较短如5ms情况下,程序执行一段时间后会卡死在接收中断查询状态寄存器的位置,
当延时时间长如500ms情况下,程序不会卡死,但是会出现丢包现象。
想不出其中原因,希望可以获得指点
作者: 蓝点无限    时间: 2021-7-31 22:23
目前我们还没用到RTOS,但是你说的卡死到读取寄存器,这个有点不解,读寄存器为何会卡死?

作者: 如此简单cc66    时间: 2021-8-4 10:36
蓝点无限 发表于 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超时了,但是这个时候是有数据发过来的




欢迎光临 51uwb.cn (http://51uwb.cn/) Powered by Discuz! X3.3