嵌入式技术论坛
直播中

杨秀英

7年用户 1402经验值
私信 关注
[问答]

RTC alarm组件不进入回调函数的原因是什么?

芯片类型stm32F407ZGT6,用rt threadstudio进行调试,rtthread 版本用的是4.0.3,studio中seting 设置开启rtc驱动组件和alarm驱动组件,cubemx中开启RTC外设,shell输出RTC组件正常,shell中date命令可以设置和查看时间,均正确,但是alarm组件使用时怎么都不进回调函数,,alarm dump 能看见设置的闹钟,但是不管是闹钟标志设置秒中断还是分钟中断,都不能进入回调函数,用的是文档中心中alarm组件的例子调试的。。

另外升级成rtthread 版本4.0.4进行尝试。首先 编译报错../drivers/drv_rtc.c21017: error: conflicting types for 'rt_hw_rtc_register'。

注释掉drv_rtc.c下的rt_hw_rtc_register,使用rtc.c中的register函数,编译通过后,使用date命令报错如下。

msh >
\ | /

RT - Thread Operating System
/ | \ 4.1.0 build May 31 2022 09:46:50
2006 - 2022 Copyright by RT-Thread team
msh >date
psr: 0x20000000
r00: 0x200012d4
r01: 0x00000000
r02: 0x200012d4
r03: 0x000000d0
r04: 0xdeadbeef
r05: 0xdeadbeef
r06: 0xdeadbeef
r07: 0x200037e0
r08: 0xdeadbeef
r09: 0xdeadbeef
r10: 0xdeadbeef
r11: 0xdeadbeef
r12: 0xffffffff
lr: 0x0800853f
pc: 0x000000d0
hard fault on thread: tshell
怎么才能使用alrm驱动组件?

回帖(1)

张英

2023-5-17 14:14:48
更换RT-Thread 4.1.0, 可能RTC的驱动初始化没有对接好,需要改下,先保证RTC能正常的工作
先不关心Alarm 回调,先确认设置的闹钟时间与当前RTC时间是否在同一个【时区】内,并且alarm时间(时分秒)要大于 RTC的(时分秒)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分