STM32完全学习——FSMC控制LCD的一些问题

一、使用标准库初始化FSMC的时候

cpp 复制代码
//写寄存器函数
//cmd:寄存器值
void LCD_WriteCmd(u16 cmd)
{
    TFTLCD->LCD_CMD=cmd;
}

//写数据
//data:要写入的值
void LCD_WriteData(u16 data)
{
    TFTLCD->LCD_DATA=data;
}

上面这样写是没有问题的,屏幕也可以正常显示,我这里这是说我发现的问题,也就是不同点,像FSMC的初始化这些,网上有太多的文档了,这里也就没必要说了。主要的区别还是在上面这两个函数。

二、使用CubMAX工具初始化FSMC

如果这样的话直接使用上面的代码就会有问题,我们只道上面的这个代码其实和使用哪种方式初始化FSMC是没有什么关联的,但是我们知道STM32一共有标准库,HAL库,和LL库这三种,虽然这三种初始化时候代码都是一样的,但是这三种方式背后对FSMC的处理的效率是不一样的,也就是说LL库的效率高于标准库高于HAL库。因此在对LCD屏幕进行写数据的时候,使用LL库的时候就必须添加延时作为缓冲。这样屏幕就可以正常显示了,前提是你的其他配置都是正确的前提下,我其他配置都正确的前提下屏幕是这样下是的,看下图。我想要的是显示全部红色,然后就会这样,然后添加延时之后,就好了。

cpp 复制代码
//写寄存器函数
//cmd:寄存器值
void LCD_WriteCmd(u16 cmd)
{
	delay_us(1);
    TFTLCD->LCD_CMD = cmd;
}

//写数据
//data:要写入的值
void LCD_WriteData(u16 data)
{
	delay_us(1);
    TFTLCD->LCD_DATA = data;
}
相关推荐
国科安芯8 小时前
商业航天星载数据管理单元的存储容错与接口集成方案研究
嵌入式硬件·架构·ecc·商业航天·抗辐射
天空'之城8 小时前
单片机基础核心知识点汇总(三十八)
单片机·嵌入式硬件
小叶肥辉9 小时前
LangChain链和LangGraph图的学习笔记【六】——提示语模板(3)——Few-Shot Prompting(少样本提示) 模板类
笔记·python·学习·langchain·prompt·aigc
for_ever_love__9 小时前
爬虫项目: 获取高分电影的数据总结
开发语言·python·学习
Zw-awa9 小时前
标准外设库到底在替你做什么:从时钟到 GPIO 的一次完整调用
stm32
zhangzhangkeji9 小时前
srm32 , 6-2 :定时器中断与定时器外部时钟
stm32
syagain_zsx10 小时前
算法基础篇 · 02 高精度(C++ 题解)
开发语言·c++·学习·高精度
恒锐丰科技林技术员10 小时前
EG2203:一款高性价比 600V 半桥驱动芯片
经验分享·嵌入式硬件·硬件工程
m4Rk_10 小时前
【论文阅读】Agent 记忆机制(72):EMA——在写入前决定什么值得记住
论文阅读·人工智能·学习·开源·github
扶风ff10 小时前
练题簿企业培训方案:统一题库、在线任务与岗位考核
学习·小程序