中级会员
- 积分
- 329
- 金钱
- 329
- 注册时间
- 2014-2-25
- 在线时间
- 44 小时
|
5金钱
在调试一块液晶屏,驱动SSD1289 FSMC方式驱动
这是主函数:
int main()
{
SystemInit();
TFT_Init();
ili9320_Clear(Blue);
ili9320_DrawPicture(0,0,240,320,(u16*)gImage_image);
while(1);
}
由于程序是改的ili9320的所以函数名还没改呢,但是可以用。
然后单步调试,问题出现了:
调试到TFT_Init();进去,执行到这里:
void LCD_WriteReg(u8 LCD_Reg,u16 LCD_RegValue)
{
/*Write 16-bit Index, then Write Reg */
LCD->LCD_REG = LCD_Reg;
/*Write 16-bit Reg */
LCD->LCD_RAM = LCD_RegValue;
}
到LCD->LCD_RAM = LCD_RegValue;这句就卡死不动了。然后停止调试
发现程序死在了这里:(startup_stm32f40xx.s中)
我以为是系统时钟出了问题,查看了一下,发现没问题啊。如图:
然后退出调试重启板子,图片还能正常显示。但是调试就出错。卡到那里,这是什么原因啊?
大神们耐心看完啊,从昨晚一直困扰到现在,求解答围观 |
|