亲爱的对话小组:,
谢谢你的支持。
我们有DA14683定制板。我们使用SDK DA1468x_DA15xxx_SDK_1.0.14.1081。我们的要求是从RTC芯片AB08X5读取日期和时间。
我们在定制板中使用RTC AB08X5芯片。该RTC用于DA14681可穿戴套件。
我们将14681可穿戴套件中的wrbl_rtc.c、ab08x5.c文件移植到定制板。该rtc芯片通过I2C线路访问,给出的地址为0x69。
在移植过程中,我们删除了ad_gpio_intr.c文件中wkup_配置结构中的“.threshold=1”(行号70)。
还删除了ad_gpio_intr.c文件中ad_gpio_intr_init()函数的以下行。
硬件工作设置计数器阈值(ad\U gpio\U intr\U工作设置阈值);
硬件启动复位计数器();
在RTC初始化过程中,自定义板中的wrbl_RTC_init(),我们观察到自定义板中的ab08x5_get_date()函数失败。我们将调试语句放入wrbl_RTC_init()函数中,所有调试语句打印到函数ab08x5_get_date()。
在ab08x5_get_date()函数中,下面的语句失败,在这一行之后我们看不到其他调试语句。
reg_access_cb->读取_寄存器(AB08X5_reg_日期、日期数据、大小(日期数据));
wrbl_rtc_init()在system_init()任务中被调用。
我们还做了另一个实验;在wrbl_rtc_init()中删除了下面几行,但问题仍然是一样的。
-----------------------------------------------------------------------------------------------------------------------------------------
操作系统事件创建(rtc准备就绪evt);
/*寄存器RTC_就绪中断*/
ad_gpio_intr_寄存器(RTC_就绪);
/*初始化RTC并注销/删除irq和事件*/
如果(!hw_gpio_get_pin_status)(AB08X5_INT_D_端口,AB08X5_INT_D_pin)){
/*等待RTC准备就绪->FOUT/nIRQ设置为高*/
如果(操作系统事件)等待(rtc准备就绪),
OS_MS_2_TICKS(RTC_READY_TIMEOUT_MS))!=OS_事件(已发信号){
DBG_MSG_WRBL_任务(“RTC就绪等待超时\r\n”);
}
}
ad_gpio_intr_注销(RTC_就绪);
OS_事件_删除(rtc_就绪_evt);
-----------------------------------------------------------------------------------------------------------------------------
你能帮我们解决这个问题吗?
顺致敬意,
马利
亲爱的对话小组:,
请关闭此案例。我们已解决此问题。
顺致敬意,
马利
嗨,powersquare,
很高兴你解决了问题。欢迎提供任何反馈/意见。
谢谢,下午好