硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4301|回复: 3
收起左侧

[有问必答] 例程“V5-010b_RNG实验_中断方式”打印两次的疑问

[复制链接]

6

主题

64

回帖

82

积分

初级会员

积分
82
发表于 2018-10-27 00:31:19 | 显示全部楼层 |阅读模式
仍旧是关于例程的问题:我在调试RNG例程中断方式的时候,发现串口答应随机数每次都是两个;单步调试发现,在第一次打印之后,跳出中断回到主函数,但是还没等定时器时间到,也就是if (bsp_CheckTimer(0))条件还不满足,没有进入if语句中执行RNG_ITConfig(ENABLE);但是却再次进入HASH_RNG_IRQHandler()函数中,第二次获取随机数并打印。两次有一定时间间隔,但是间隔不大,从串口助手打印的效果来看就是每个周期打印了两次。请问为什么定时时间还没到,却再次打印了随机数呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119439
QQ
发表于 2018-10-27 01:02:27 | 显示全部楼层
进入中断后立即关闭就好了
QQ截图20181027010211.png
回复

使用道具 举报

6

主题

64

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2018-10-27 09:22:04 | 显示全部楼层
eric2013 发表于 2018-10-27 01:02
进入中断后立即关闭就好了

嗯。但是这是为什么呢?中断函数HASH_RNG_IRQHandler()末尾已经有一个RNG_ITConfig(DISABLE)了啊。
1540603292(1).jpg
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119439
QQ
发表于 2018-10-27 09:46:54 | 显示全部楼层
红烧鱼头 发表于 2018-10-27 09:22
嗯。但是这是为什么呢?中断函数HASH_RNG_IRQHandler()末尾已经有一个RNG_ITConfig(DISABLE)了啊。

末尾的删掉,进入后立即禁止,防止你在中断过程中又有就绪的了。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-11-22 19:10 , Processed in 0.042763 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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