STM32F407调试中很奇怪的问题,求解答

2019-07-21 04:49发布

在调试一块液晶屏,驱动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中)

我以为是系统时钟出了问题,查看了一下,发现没问题啊。如图:

然后退出调试重启板子,图片还能正常显示。但是调试就出错。卡到那里,这是什么原因啊?


大神们耐心看完啊,从昨晚一直困扰到现在,求解答围观
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。