51uwb.cn

 找回密码
 立即注册
查看: 3772|回复: 2
打印 上一主题 下一主题

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

[复制链接]

3

主题

13

帖子

33

积分

新手上路

Rank: 1

积分
33
QQ
跳转到指定楼层
楼主
发表于 2021-7-30 15:29:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用中断接收数据,将接收数据放入消息队列,在RTOS中创建了发送任务,发送动作执行完成后添加延时。
发现当延时时间较短如5ms情况下,程序执行一段时间后会卡死在接收中断查询状态寄存器的位置,
当延时时间长如500ms情况下,程序不会卡死,但是会出现丢包现象。
想不出其中原因,希望可以获得指点
回复

使用道具 举报

35

主题

1040

帖子

4469

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4469
沙发
发表于 2021-7-31 22:23:52 | 只看该作者
目前我们还没用到RTOS,但是你说的卡死到读取寄存器,这个有点不解,读寄存器为何会卡死?
回复

使用道具 举报

3

主题

13

帖子

33

积分

新手上路

Rank: 1

积分
33
QQ
板凳
 楼主| 发表于 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超时了,但是这个时候是有数据发过来的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

bphero Inc.  

GMT+8, 2024-11-1 10:19 , Processed in 0.014603 second(s), 4 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表