OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3277|回复: 3

为什么我的RTC中断回调函数里面只能执行一条语句?

[复制链接]

33

主题

52

帖子

0

精华

高级会员

Rank: 4

积分
507
金钱
507
注册时间
2016-8-15
在线时间
79 小时
发表于 2016-9-1 09:46:04 | 显示全部楼层 |阅读模式
为什么我的RTC中断回调函数里面只能执行一条语句?
我用的RTC周期中断,这个回调函数里面有两句话,只能执行一条,好像另一条来不及执行一样,怎么回事?
情况就是,如果执行了设置PB14管脚,那下面的喂狗就执行不了,如果把喂狗放上面,那他就只执行喂狗,剩下的都没有执行,或许是卡在哪里了,反正我始终没看到其它语句执行之后会有的效果
是不是我主函数里调用的设置warkup中断函数的参数有什么问题?

RTC.PNG
45465.PNG
0123456.PNG
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11561
金钱
11561
注册时间
2014-4-1
在线时间
1318 小时
发表于 2016-9-1 11:12:32 | 显示全部楼层
回复 支持 反对

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2778
金钱
2778
注册时间
2015-6-1
在线时间
394 小时
发表于 2016-9-1 15:49:01 | 显示全部楼层
xuande 发表于 2016-9-1 11:12
仿真器走走看。

有问题请教
仿真器几乎我就没怎么用过,因为代码里有中断、有消息分发时,好像就无法单步调试。一直不明白为什么,是我的理解和操作有问题吗?
1、比如说定时器中断100ms进一次,每次在定时器里读一个AD值并处理一下。在仿真的时候确实能进定时器中断,这时候它就不再是100ms进一次了吗?而是按我调试的速度走?
2、在OS里,有产生了一个消息,然后有消息进队列等着分发,这样的话仿真下一步直接就跳到一些莫名其妙的地方,都不知道是啥,反正不是我们正常所说的.c .h文件,这是为啥呢?
3、在调待机唤醒时,我好像是关闭了什么中断,正常运行时它会卡死在休眠代码的最后一句话里,应该是在while里等待中断。这种情况下用单步调试,竟然可以跳过while,并且进入休眠。说明仿真和实际效果不一样呀,这会是什么原因?
自在随心
回复 支持 反对

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11561
金钱
11561
注册时间
2014-4-1
在线时间
1318 小时
发表于 2016-9-1 16:06:04 | 显示全部楼层
本帖最后由 xuande 于 2016-9-1 16:07 编辑

用仿真器是有技巧的,一言难尽。

定时器这样有实时性要求的情况,要看芯片怎么设计。
有的芯片在停止的时候,定时器也会停下来,好像有的不行。
即使行,可能运行的情况也和实际有差别。

实时性强的情况,要用设断点的方法,在不扰乱实时性的位置设置断点,
然后单步调试断点处的程序,
解决问题以后,再复位、全速运行。
可能要反复做几次,直到成功。

@yuzeyuan1


回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-30 02:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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