|
本帖最后由 bianhengyang 于 2013-3-17 18:08 编辑
今天用野火M3的开发板做一个液晶显示汉字的程序,移植了开发板中所带的文件系统、SD卡读写、LCD等功能能函数到我的工程中;在main函数中基本初始化如下:
mian()
{
SysTick_Init(); /*systick 初始化*/
LCD_Init(); /*LCD初始化*/
sd_fs_init();
LCD_Str_O(50, 20,"CAN Receice Data Information", 0); //显示提示信息
LCD_Str_CH(10,50,"阿莫论坛野火专区",0,0xffff);
while( Can_flag == 0xff ); //等待主机端的数据
}
编译没有产生错误,但是下载到板子上就显示不了,后来仿真在LCD_Init(); 函数里死机了
void LCD_Init(void)
{
uint8_t xxx = 0; //本来没有这句的,加上这句就能正常显示了
unsigned long i;
LCD_GPIO_Config(); //初始化使用到的GPIO
LCD_FSMC_Config(); //初始化FSMC模式
LCD_Rst(); //复位LCD液晶屏
Lcd_init_conf(); //写入命令参数,对液晶屏进行基本的初始化配置
Lcd_data_start(); //发送写GRAM命令
for(i=0; i<(320*240); i++)
{
LCD_WR_Data(GBLUE); //发送颜色数据,使屏幕初始化为GBLUE颜色
}
}
后来我就在LCD_Init(void)中随便定义了一个局部变量xxx,结果神奇般得能正常显示了;
出现这个问题我很纳闷,就加了一个无用的变量,尽然就能通过了,是编译器的问题吗?我用的是keil编译器。请教各位高手给我指点下迷津 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|