[STM32F1] 解决STM32CubeMX配置FSMC驱动TFTLCD失败的问题

[复制链接]
 楼主| 51xlf 发表于 2022-11-26 22:13 | 显示全部楼层 |阅读模式
本帖最后由 51xlf 于 2022-11-26 22:15 编辑

购买普中的一块开发板,使用STM32CubeMX配置了FSMC,就是只能刷一半的屏幕。
显示也不正常。
但是使用官网提供的程序能够正常运行。
查看代码发现,可能是FSMC写入的时候有问题。
  1. <div class="blockcode"><blockquote>   TFTLCD->LCD_DATA=color&0xff00;
  2. 加一个for循环。
  3.                         TFTLCD->LCD_DATA=color<<8;

这样在写入的时候,确实可行的。
但是找不出什么原因来。
后来百度了一下,原来是优化存在问题。

Options for Target – C/C++下的编译优化等级Optimization改为0,再编译下载即可解决。
watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5q2l6L-b55S15py6MA==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center.jpg
参考了https://blog.csdn.net/qq_44800056/article/details/122724303帖子。

 楼主| 51xlf 发表于 2022-11-26 22:15 | 显示全部楼层
不知道怎么回事,在上面添加代码,就会出现网页代码。增加for循环代码,删掉下面一行。
yorkbarney 发表于 2022-12-6 18:29 | 显示全部楼层
为什么两次写入数据存在这个问题呢?
Undshing 发表于 2022-12-6 19:21 | 显示全部楼层
为什么只会刷新一半屏幕?
AloneKaven 发表于 2022-12-6 20:25 | 显示全部楼层
编译器优化有时候就是会帮倒忙
MessageRing 发表于 2022-12-7 18:31 | 显示全部楼层
关掉编译器优化就行了
maqianqu 发表于 2022-12-10 14:22 | 显示全部楼层
总线是不是不等长了啊?              
Henryko 发表于 2022-12-10 15:21 | 显示全部楼层
可以在定义的时候指明不要编译器优化
biechedan 发表于 2022-12-10 15:31 | 显示全部楼层
为什么要设置keil的 编译优化等级?
jackcat 发表于 2022-12-11 12:15 | 显示全部楼层
设置一下数据和地址的保持时间,看看行不行?
belindagraham 发表于 2022-12-15 09:44 | 显示全部楼层
这个keil优化还存在问题的吗              
Bowclad 发表于 2022-12-15 11:06 | 显示全部楼层
这应该是语法表达不标准引起的吧
mollylawrence 发表于 2022-12-15 17:44 | 显示全部楼层
STM32CubeMX和库函数一样的吧。
dspmana 发表于 2023-1-7 17:01 | 显示全部楼层
增加延时就没有,怎么可能是编译环境有问题呢?
mickit 发表于 2023-1-9 13:01 | 显示全部楼层
我一般都不修改keil的编译配置,默认的函数就行的。
qiufengsd 发表于 2023-1-9 14:43 | 显示全部楼层
这个option选项不是固定吗?
小小蚂蚁举千斤 发表于 2023-1-9 15:29 来自手机 | 显示全部楼层
编译器有时候也不太好用
pmp 发表于 2023-1-12 11:05 | 显示全部楼层
这个代码会不会变大呢?              
iyoum 发表于 2023-1-12 20:14 | 显示全部楼层
STM32CubeMX才有这个问题吗?
SantaBunny 发表于 2023-1-13 16:13 | 显示全部楼层

编译器有时候也不太好用的,关掉编译器优化吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

547

主题

9919

帖子

24

粉丝
快速回复 在线客服 返回列表 返回顶部