野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23121|回复: 4

求助,指南者液晶程序问题!

[复制链接]
发表于 2020-10-22 15:40:32 | 显示全部楼层 |阅读模式
按照视频写的程序,
// ili9341写命令
__inline void ILI9341_Write_Cmd ( uint16_t usCmd )
{
         *ILI9341_CMD_ADDR = usCmd;       
}
// ili9341写数据
__inline void ILI9341_Write_Data ( uint16_t usData )
{
        * ILI9341_DATA_ADDR = usData;
}
// ili9341读数据
__inline uint16_t ILI9341_Read_Data ( void )
{
        return ( *ILI9341_DATA_ADDR );
}
这个一编译就出错(写数据和读数据函数一样,这里只贴一个error):.\Objects\stm32F103RC_template.axf: Error: L6218E: Undefined symbol ILI9341_Write_Cmd (referred from bsp_ili9341_lcd.o).
后来测试发现,这三个__inline函数只在其他函数里面出现一次,那就没有问题,如果出现两次以上就出现上面的问题。

后来我用火哥的整个工程直接编译也没问题,所以我将火哥工程里面的bsp_ili9341_lcd.h和.c文件复制到我得工程里面,编译也出现错误。进一步把火哥user文件夹里面的所有文件都复制在我的工程里面,结果编译也是一样的错误。这表示是其他文件夹里面的.c文件有问题?但是那些都是系统文件啊,并且我从最初到现在都是用我自己的工程(按照火哥的PDF自建的)做的,只在里面刘垓user文件夹里面的。c文件,并且一直没有问题。不知道这次怎么回事,是__inline函数有什么特殊??但是我直接拿火哥的C程序复制在我的工程里面也编译出错啊,求各位大神啦!
回复

使用道具 举报

发表于 2020-10-23 08:41:43 | 显示全部楼层
在inline前加一个static
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2020-10-23 09:06:55 | 显示全部楼层
  已经试过了,真的可以,呃 请问一下这是为什么嘛?多谢了
回复 支持 反对

使用道具 举报

发表于 2020-10-23 16:58:05 | 显示全部楼层
WishWish 发表于 2020-10-23 08:41
在inline前加一个static

果然大佬还是厉害的,是所有用9341历程的都必须加这个吗
回复 支持 反对

使用道具 举报

发表于 2020-10-23 17:18:02 | 显示全部楼层
Sunny_DY 发表于 2020-10-23 16:58
果然大佬还是厉害的,是所有用9341历程的都必须加这个吗

编译器那边勾了C99要加

可以参考一下这个文章https://zhuanlan.zhihu.com/p/132726037
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-25 05:35 , Processed in 0.029594 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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