打印
[STM32F1]

彩屏的奇怪问题

[复制链接]
1137|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TT5656|  楼主 | 2014-4-21 10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这几天用stm32f103做彩屏的应用,用FSMC驱动,彩屏的驱动程序是用的现成的,驱动芯片是ssd1298。
我自己定义了这样一个结构体变量
typedef struct{
        ButtonArea ButtonCo;
        u8 Text[20];                       
}Button;
其中ButtonArea也是一个结构体,定义了按键的坐标,问题在于Text数组,我发现定义的数组大小不同时会出现问题,比如我这里定义了20是可以正常运行的,但是定义成30或40就会出现严重问题,程序卡死,而且我再用ulink下载程序会出现could not stop Cortex-M device的提示,要把板子复位才能烧写,有时还要复位几次。调试发现貌似也不是hardfault,后来单步调试运行到彩屏驱动这里发现了问题。从LCD初始化第一步LCD_WriteReg(0x00, 0x0001);开启内部晶振开始,就cannot access memory了,再往下运行就失去了对芯片的控制,无法停止了。换了屏也没用,应该是FSMC的问题,把这个数组的大小改成20或者开启优化level-3就没问题了,请问大虾这是神马情况??


沙发
mmuuss586| | 2014-4-21 10:31 | 只看该作者
降低仿真速度看看,程序挺大的吧

使用特权

评论回复
板凳
TT5656|  楼主 | 2014-4-21 10:38 | 只看该作者
mmuuss586 发表于 2014-4-21 10:31
降低仿真速度看看,程序挺大的吧

没用啊
我把其余部分注释掉只剩一些基本配置Program Size: Code=15390 RO-data=934 RW-data=80 ZI-data=1656 ,还是不行

使用特权

评论回复
地板
TT5656|  楼主 | 2014-4-21 10:44 | 只看该作者
mmuuss586 发表于 2014-4-21 10:31
降低仿真速度看看,程序挺大的吧

而且还不是改成20就一定可以,有的时候改回20也照样不行,把某些部分注释掉再注释回来这样捣鼓捣鼓最后20又行了……程序都是一样的,就是这里数组大小很蛋疼……查不出是哪儿的问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

61

帖子

0

粉丝