找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3223|回复: 10
打印 上一主题 下一主题
收起左侧

STM32 HAL_RTC_GetTime函数报错

[复制链接]
跳转到指定楼层
楼主

编译通过不了,
HAL_RTC_GetTimeHAL_RTC_GetDate

这个函数问题出在哪里呀

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:804115 发表于 2020-7-27 17:55 | 只看该作者
看不到你的问题啊,你的图片无法查看啊!
回复

使用道具 举报

板凳
ID:504281 发表于 2020-7-27 20:09 | 只看该作者
1692483014 发表于 2020-7-27 17:55
看不到你的问题啊,你的图片无法查看啊!

是么,我再在楼下上传一下
回复

使用道具 举报

地板
ID:504281 发表于 2020-7-27 20:18 | 只看该作者
1692483014 发表于 2020-7-27 17:55
看不到你的问题啊,你的图片无法查看啊!

直接贴代码吧:
static void display_time(void)
{
    RTC_HandleTypeDef hrtc;
    RTC_DateTypeDef date;
    RTC_TimeTypeDef time;  
    HAL_RTC_GetTime(&hrtc, &time, RTC_FORMAT_BCD);
    HAL_RTC_GetDate(&hrtc, &date, RTC_FORMAT_BCD);
   
    printf("20%02x-%x-%x %02x:%02x:%02x\n", date.Year, date.Month, date.Date, time.Hours, time.Minutes, time.Seconds);
}

报错信息:f:/321/Demos/oc_manhole_cover_template/oc_manhole_cover_template.c:394: undefined reference to `HAL_RTC_GetDate'
回复

使用道具 举报

5#
ID:504281 发表于 2020-7-27 20:46 | 只看该作者
wuhai5 发表于 2020-7-27 20:09
是么,我再在楼下上传一下

声明与 "HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, <error-type> Format)" (已声明 所在行数:876,所属文件:"F:\321\Inc\stm32l4xx_hal_rtc.h") 不兼容
回复

使用道具 举报

6#
ID:804115 发表于 2020-7-27 21:02 | 只看该作者
wuhai5 发表于 2020-7-27 20:18
直接贴代码吧:
static void display_time(void)
{

用的什么编译器?是keil吗?
检查以下:
1. HAL_RTC_GetDate函数是否定义?如果定义了,对应的.C文件是否已经包含在工程里了?
2. HAL_RTC_GetDate函数是否声明了?如果声明了,对应声明的头文件路径是否包含在工程里了?
3. 将工程关闭,删除所有编译中间文件,重新打开IDE,进行全编译,看看是否解决了?
回复

使用道具 举报

7#
ID:804115 发表于 2020-7-27 21:25 | 只看该作者
wuhai5 发表于 2020-7-27 20:46
声明与 "HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate,  Format ...

如果你用的是stm32l4xx系列单片机的话,不应该不兼容啊!对了,宏定义那里也要声明有你使用型号的单片机的宏定义。
回复

使用道具 举报

8#
ID:504281 发表于 2020-7-28 14:40 | 只看该作者
1692483014 发表于 2020-7-27 21:25
如果你用的是stm32l4xx系列单片机的话,不应该不兼容啊!对了,宏定义那里也要声明有你使用型号的单片机 ...

你好,感谢回复,我用的VSCode。
这rtc.c和rtc.h俩文件是我后来复制进Src和Inc中的,这俩函数在.c文件中有定义,在.h中也有声明,也#include在里面了,还是显示undefined reference to `HAL_RTC_GetTime'。
回复

使用道具 举报

9#
ID:504281 发表于 2020-7-28 14:43 | 只看该作者
1692483014 发表于 2020-7-27 21:25
如果你用的是stm32l4xx系列单片机的话,不应该不兼容啊!对了,宏定义那里也要声明有你使用型号的单片机 ...

我百度的这个错误有人说这是个编程链接错误,意思是说在你的程序里引用了某个函数或变量, 但是链接器找不到该变量的定义.
但是我.c和.h都添加了,都有定义和声明
回复

使用道具 举报

10#
ID:804115 发表于 2020-8-1 03:09 | 只看该作者
wuhai5 发表于 2020-7-28 14:43
我百度的这个错误有人说这是个编程链接错误,意思是说在你的程序里引用了某个函数或变量, 但是链接器找不 ...

我是按照keil的思维去思考的,没用过vscode,这个最近很火吗?不过感觉有新坑啊!你再问问别人吧!
回复

使用道具 举报

11#
ID:504281 发表于 2020-8-1 15:29 | 只看该作者
1692483014 发表于 2020-8-1 03:09
我是按照keil的思维去思考的,没用过vscode,这个最近很火吗?不过感觉有新坑啊!你再问问别人吧!

好的感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表