STM32的FSMC初始化LCD的奇葩问题
时间:10-02
整理:3721RD
点击:
现在在做一个智能家居工程项目,使用了ucgui,项目做的差不多了(此时ucgui正常使用),然后对项目代码进行优化,这是发现一个奇怪的问题,就是在主函数while(1)里屏蔽一个sprintf()调试打印信息,却导致ucgui对LCD初始化不成功,不屏蔽是正常的
void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue)
{1. _LCD->LCD_REG = LCD_Reg; //写入要写的寄存器序号
2. _LCD->LCD_RAM = LCD_RegValue;//写入数据
}
就死在这个函数里,正常_LCD->LCD_REG读取的数据是0x9325,可是出问题后是0xaaaa,有谁遇见过这样奇葩的问题没。
是不是你的串口发数据太慢了?
你是用中断发的吗?
没加液晶的时候出现问题没?
你现在开始的时候把总中断关掉,然后把所有的器件初始化之后再把总中断打开试试
现在问题解决了,是STM32库里的FSMC文件的版本太低了。
好在解决了
决定加入一个STM32学习,有圈子才有分享和动力
加油
多谢 小编的分享