|
发表于 2021-7-11 19:03:17
|
显示全部楼层
屏幕型号T5L DMG10600t070_A5WTC
换了结构体,在存储函数后写了一行显示存储完成,发现该行代码不执行,怀疑存储出现问题,同时执行存储函数后CAN通讯没了
typedef struct{
u16 Parm_VehSpd;
u16 Parm_PlantSpace;
u16 Parm_Width;
u16 Parm_PanNum;
u16 Parm_SdNumSet;
u16 Parm_SdStrOrder;
u32 flag;
}SYS_PARAMS;
xdata SYS_PARAMS sys_params;
static void StoreSetVars()
{
sys_params.Parm_VehSpd = (u16)FromGui_Disp_VehSpd;
sys_params.Parm_PlantSpace = (u16)FromGui_Disp_Space;
sys_params.Parm_Width = (u16)FromGui_Disp_Width;
sys_params.Parm_PanNum= (u16)FromGui_Disp_PanNum;
sys_params.Parm_SdNumSet= (u16)FromGui_Disp_SdNumSet;
sys_params.Parm_SdStrOrder= (u16)FromGui_Disp_SdStrOrder;
sys_params.flag = SYS_PARAMS_FLAG_OK;
sys_params_save();
}
void norflash_write(u32 addr,u8* buff,u16 len)
{
//1.ÏȰÑbuffÖеÄÊý¾ÝдÈëµ½DGUSII¿ÉÓñäÁ¿Çø(CACHE_ADDR)»º´æÒ»ÏÂ
sys_write_vp(CACHE_ADDR,buff,len);
//2.È»ºóÔÙ°ÑCACHE_ADDR´¦µÄÄÚÈÝдÈëµ½nor flashÖÐ
norflash_cmd[0] = NOR_FLASH_WRITE;//д²Ù×÷
norflash_cmd[1] = (addr>>16)&0xff;//nor flashµØÖ·
norflash_cmd[2] = (addr>>8)&0xff;
norflash_cmd[3] = addr&0xff;
norflash_cmd[4] = (CACHE_ADDR>>8)&0xff;//dgusiiÊý¾ÝµØÖ·
norflash_cmd[5] = CACHE_ADDR&0xff;
norflash_cmd[6] = (len>>8)&0xff;//дÈëµÄÊý¾Ý³¤¶È
norflash_cmd[7] = len&0xff;
sys_write_vp(NOR_FLASH_ADDR,norflash_cmd,4);
//3.µÈ´ý²Ù×÷Íê³É
while(1)
{
sys_read_vp(NOR_FLASH_ADDR,norflash_cmd,2);//Ö»Ðè¶ÁÈ¡0x0008±äÁ¿µÄǰ2¸ö×Ö,È»ºóÅжÏD7ÊÇ·ñΪ0
if(norflash_cmd[0]==0)
break;
sys_delay_about_ms(1);//Õâ¸öÑÓʱ±ØÐë¼Ó,¿ÉÒÔ·ÀֹĪÃûÆäÃîµÄ´íÎó
}
//sys_delay_about_ms(500);
} |
|