这个问题请问怎么解决
如图几句代码
调试时一下就进入main内部了,但是只要一用LcdInitializtion这个函数就卡在下图位置:
偶然在调试时不停点单步执行出来了,但后来又跳到了中断处,下图
然后就出不去了。
那个函数是tft的初始化函数,贴一段代码
void LcdInitializtion(void)
{
u16 i;
LCD_InitGPIO();
Delay(5); /* delay 50 ms */
LCD_WriteReg(0x0000,0x0001);
Delay(5); /* delay 50 ms */ //start internal osc
LCD_DB_AS_InPut();
Delay(1); /* delay 50 ms */ //start internal osc
DeviceIdCode = LCD_ReadReg(0x0000);
// printf("\n\r ###### www.armjishu.com DeviceIdCode = 0x%x ###### ", DeviceIdCode);
// printf("\n\r ###### DeviceIdCode = LCD_ReadReg(0x0000) = 0x%x ###### ", LCD_ReadReg(0x0000));
// printf("\n\r ###### DeviceIdCode = LCD_ReadSta(0x0000) = 0x%x ###### ", LCD_ReadSta());
LCD_DB_AS_OutPut();
Delay(1); /* delay 50 ms */ //start internal osc
if(DeviceIdCode == 0x8989)
{
// printf("\n\r This LCD is SSD1289 ");
}
//DeviceIdCode=0x8989;
if(DeviceIdCode == 0x9325)
{
// printf("\n\r This LCD is ili9325 ");
}
if(DeviceIdCode == 0x5408)
{
LCD_WriteReg(0x0000,0x0000);
LCD_WriteReg(0x0001,0x0100);
LCD_WriteReg(0x0002,0x0700); //power on sequence
LCD_WriteReg(0x0003,0x1020 ); //65K (1<<12)|(1<<5)|(1<<4)
|