野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10188|回复: 4

LTDC液晶显示中遇到的static全局变量的问题

[复制链接]
发表于 2018-10-21 12:29:51 | 显示全部楼层 |阅读模式
在固件库LTDC_液晶显示英文的例子中,main.c调用了LCD_SetLayer();这个函数,  此函数是在bsp_lcd.c源文件中的,使用了CurrentFrameBuffer这个在bsp_lcd.c中定义的static全局变量;
不是说static全局变量的作用域只在当前的源文件也就是bsp_lcd.c内,不能被其他文件所引用的吗?那这里在main.c中为什么能调用LCD_SetLayer();这个函数呢? 求各位大神解答

回复

使用道具 举报

发表于 2018-10-21 17:09:20 | 显示全部楼层
这个static全局变量只可以在bsp_lcd.c内使用,不可以被其他文件所使用。而不是说这个函数。除非这个函数也是static
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-22 20:51:28 | 显示全部楼层
君负花开 发表于 2018-10-21 17:09
这个static全局变量只可以在bsp_lcd.c内使用,不可以被其他文件所使用。而不是说这个函数。除非这个函数也 ...

这个我理解 可是这个函数里面包括了STATIC变量  static变量没办法被引用啊
回复 支持 反对

使用道具 举报

发表于 2018-10-23 09:02:36 | 显示全部楼层
每一个函数都有一个自己的地址。。当main文件调用LCD_SetLayer()这个函数,是PC指针会指向这个函数。因此是这个函数使用了STATIC变量,而不是main文件使用了STATIC变量

程序执行流程

程序执行流程
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-10-24 21:05:55 | 显示全部楼层
君负花开 发表于 2018-10-23 09:02
每一个函数都有一个自己的地址。。当main文件调用LCD_SetLayer()这个函数,是PC指针会指向这个函数。因此是 ...

这样的呀 谢谢回答
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 15:02 , Processed in 0.034535 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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