CH573F 讀取 Code Flash 時復(fù)位

Ch573F?寫?地址 4?字節(jié)對齊,讀取時也要4字節(jié)的整數(shù)嗎??用代碼測試了下確實(shí)是要,讀取時起始地址要為4字節(jié)倍數(shù)否則會導(dǎo)致復(fù)位。我太難了。昨天是發(fā)現(xiàn)庫的頭文件pwmx 寄存器地址錯誤。唉。有沒有DATA?Flash?讀取的內(nèi)部代碼,把非4字節(jié)倍數(shù)的地址轉(zhuǎn)成合法地址后返回所需地址的數(shù)據(jù)?

codeflash讀取可以使用指針的方式直接讀,使用我門封好的函數(shù)讀是需要四字節(jié)對齊的,

dataflash的讀取是不用四字節(jié)對齊的。


?flash_adder = Sys_Run.Read_Add[1];

? ? ? ? if(flash_adder%4!=0)? //4字節(jié)讀取地址湊整

? ? ? ? {

? ? ? ? ? ? while(flash_adder%4!=0)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? flash_adder--;

? ? ? ? ? ? ? ? s++;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? flash_save_read(0,CMD_FLASH_READ,flash_adder,readbuff,Sys_Run.Sum_Add[1]+s);

//? ? ? ? PRINT("s = %d \r\n", s);


? ? ? ? ?for(i=0;i

? ? ? ? ?{

? ? ? ? ? ? ?readbuff[i] = readbuff[i+s];

//? ? ? ? ? ? ?PRINT("%02x ", readbuff[i]);

? ? ? ? ?}

? ? ? ? ?Sys_Run.timebuffv[n]? ?=? ?readbuff[0]<<8|readbuff[1];? ? ? ?//時間數(shù)值

? ? ? ? ?Sys_Run.timebuffT[n]? ?=? ?readbuff[2];



用了死方法實(shí)現(xiàn)了。有沒有更優(yōu)化的方法?


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频