完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
RTC初始化在drv_rtc.c文件中 int rt_hw_rtc_init(void) |
|
相关推荐
4个回答
|
|
如果是HAL库的话,在_hal_msp.c里边把
void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc) { if(hrtc->Instance==RTC) { /* USER CODE BEGIN RTC_MspInit 0 */ /* USER CODE END RTC_MspInit 0 */ /* Peripheral clock enable */ __HAL_RCC_RTC_ENABLE(); /* USER CODE BEGIN RTC_MspInit 1 */ /* USER CODE END RTC_MspInit 1 */ } } 重新定义一下,就是RTC的时钟的没有打开。这是我遇到的情况。 |
|
|
|
已经验证了HAL_RTC_MspInit(),rtt中只是给了相应的接口,并没有实现内容;
直接在drv_rtc.c文件里找个地方写一下这个函数定义就可以了,因为使用了虚函数所以不需要声明了; void HAL_RTC_MspInit(RTC_HandleTypeDef* hrtc) { if(hrtc->Instance==RTC) { /* USER CODE BEGIN RTC_MspInit 0 */ /* USER CODE END RTC_MspInit 0 */ /* RTC clock enable */ __HAL_RCC_RTC_ENABLE(); __HAL_RCC_RTCAPB_CLK_ENABLE(); /* USER CODE BEGIN RTC_MspInit 1 */ /* USER CODE END RTC_MspInit 1 */ } } |
|
|
|
可以进到 rt_hw_rtc_register 这个函数里面调试一下看看哪里失败了
|
|
|
|
【原因】 这主要是因为重复注册RTC设备即重复使用函数rt_device_register造成的。 这个重复注册是由于soft_rtc已经调用rt_device_register对”rtc”注册了,因此,我们再次注册时就会失败。 【解决方式】 menuconfig中组件中关闭soft_rtc功能。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
I.MX6ULL-飞凌 ElfBoard ELF1板卡- 应用层更改引脚复用的方法
2611 浏览 0 评论
1315 浏览 0 评论
【英飞凌PSoC 6 RTT开发板试用】串口测试标准输入输出重定向
1108 浏览 0 评论
4524 浏览 0 评论
1804 浏览 0 评论
54989 浏览 21 评论
【参与有奖】激扬代码,千元现金!RT-Thread主题征文大赛
56933 浏览 88 评论
276743 浏览 75 评论
50493 浏览 31 评论
15946 浏览 53 评论
野火 ISO STM32资料合集(程序、原理图、项目初高级篇)
18050 浏览 46 评论
13217 浏览 50 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 18:41 , Processed in 0.564611 second(s), Total 72, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号