にはおそらくmain.cの中でフラッシュ変数を定義し、初期化するための簡単なコマンドである何(のIAR Embedded Workbenchの/ TI MSP430F)に苦しんでメイン
をフラッシュ変数を定義&Iniitialise私は別のCではフラッシュルーチンを持っていますファイル(Battery_Store.c)は変数を(メインから)取り込み、設定された場所に格納します。フラッシュルーチンが機能します。
void Set_Battery_Store(unsigned int Battery_Status)
{
Flash_Start() ;
Flash_Erase_Segment((unsigned int *)&Battery_Status) ;
Flash_Write_Word((unsigned int *)&Battery_Status, Battery_Status) ;
Flash_Finish() ;
}
私は変数を定義し、同じCファイルに
const volatile unsigned int Battery_Status @ 0x1070 = 1 ;
と.hの
extern const volatile unsigned int Battery_Status ;
しかし、もちろん、私は、メイン(System_FlagsからBattery_Storeを呼び出すたびでそれを初期化します.Battery_Statusはmainで扱う別の変数です)。すなわち
Set_Battery_Store (System_Flags.Battery_Status) ;
Battery_Statusは、おそらく私が設定して、main.cの内(とないBattery_Store.cとBattery_Store.h内)からBattery_Statusを初期化し、持っているどのように
const volatile unsigned int Battery_Status @ 0x1070 = 1 ;
の、再び1となりBattery_Store.cはそれを参照していますか?