嵌入式技术william hill官网
直播中

juju宇哥

8年用户 1400经验值
擅长:479809
私信 关注
[问答]

新建工程使用片上RTC报错是何原因

1、基于芯片创建,STM32F407VG,
2、rtt版本2.2.5,内核版本4.1.0

CubeMX配置

1.jpg

RTT设置

1.jpg

编译报错

1.jpg

回帖(7)

张红

2022-12-5 11:25:55
我也是 rtthread v4.1.0,单片机是 stm32F407,配置如下,编译后RTC是没有错误的。
看看你的 drv_rtc.h 中有没有包含 #include ,默认是包含的。
另外看看宏 BSP_USING_ONCHIP_RTC 和 RT_USING_RTC 是否定义和使能。
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
1.jpg
2.jpg
3.jpg
举报

juju宇哥

2022-12-5 11:26:14
你这应该是基于bsp建的吧,基于芯片的话,drv_rtc.h中没有包含
#include "sys/time.h",但是添加完之后,还是有报错。
1.jpg
2.jpg
举报

张红

2022-12-5 11:26:26
1.jpg
我是基于芯片创建的,你创建的时候 STM32 的驱动库的版本是多少?就是上面图中这个位置
举报

juju宇哥

2022-12-5 11:26:33
我把rtc.h的这个函数屏蔽了。
1.jpg
举报

张红

2022-12-5 11:26:41
这个屏蔽掉是可以用,我之前用的内核版本是 v4.0.3 的时候也有这个问题,每次创建工程使用 RTC 都要手动修改这个位置。
建议你用一下最新版本的 STM32F4 的驱动库试一下,因为 v0.2.3 版本的 STM32F4 的驱动库是适配 4.1.0 版本的内核的。
举报

张红

2022-12-5 11:26:53
换成这个版本的试一下,这个版本的已经修复了之前缺少 头文件和重复定义的问题了。0.1.9 版本发布的时候内核版本最新的还不是 4.1.0 所以会有一些适配的问题,最新的直接编译就没有错了。
1.jpg
举报

杨丽

2022-12-5 11:27:02
应该再drv_rtc.c添加头文件#include “sys/time.h”就可以了
举报

更多回帖

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