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

[复制链接]
发表于 2025-12-8 10:23:25 | 显示全部楼层 |阅读模式
一、利用标准库初始化FSMC的时间
  1. //写寄存器函数
  2. //cmd:寄存器值
  3. void LCD_WriteCmd(u16 cmd)
  4. {
  5.     TFTLCD->LCD_CMD=cmd;
  6. }
  7. //写数据
  8. //data:要写入的值
  9. void LCD_WriteData(u16 data)
  10. {
  11.     TFTLCD->LCD_DATA=data;
  12. }
复制代码
上面如许写是没有题目的,屏幕也可以正常表现,我这里这是说我发现的题目,也就是差异点,像FSMC的初始化这些,网上有太多的文档了,这里也就没须要说了。重要的区别照旧在上面这两个函数。
二、利用CubMAX工具初始化FSMC

如果如许的话直接利用上面的代码就会有题目,我们只道上面的这个代码实在和利用哪种方式初始化FSMC是没有什么关联的,但是我们知道STM32一共有标准库,HAL库,和LL库这三种,固然这三种初始化时间代码都是一样的,但是这三种方式背后对FSMC的处理处罚的服从是不一样的,也就是说LL库的服从高于标准库高于HAL库。因此在对LCD屏幕举行写数据的时间,利用LL库的时间就必须添加延时作为缓冲。如许屏幕就可以正常表现了,条件是你的其他设置都是精确的条件下,我其他设置都精确的条件下屏幕是如许下是的,看下图。我想要的是表现全部赤色,然后就会如许,然后添加延时之后,就好了。
  1. //写寄存器函数
  2. //cmd:寄存器值
  3. void LCD_WriteCmd(u16 cmd)
  4. {
  5.         delay_us(1);
  6.     TFTLCD->LCD_CMD = cmd;
  7. }
  8. //写数据
  9. //data:要写入的值
  10. void LCD_WriteData(u16 data)
  11. {
  12.         delay_us(1);
  13.     TFTLCD->LCD_DATA = data;
  14. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表