嵌入式技术论坛
直播中

梅利号

8年用户 1494经验值
擅长:可编程逻辑
私信 关注
[问答]

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.c17: 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)

杨丽

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

更多回帖

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