448100_en-US

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

448100_en-US

448100_en-US

FXTH87 flash operation functions

Why nothing changed after calling function TPMS_FLASH_ERASE() and TPMS_FLASH_WRITE() ? What's wrong with code below ?

fosc = 8MHz, fbus = 4MHz

FCDIV = 21;                                         // Fclk = 4MHz / (21+1) = 181.18KHz - 150KHz~200KHz

//----------------------------------------------------------------------------------

const BYTE CParaAddr[] @ 0xD200u =

{

0x44, 0x55, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

};

......

FCDIV = 21;

SendDebugContent(CParaAddr[0], CParaAddr[1], CParaAddr[2]);          // receive data are { 44 55 66 }

mRfData1 = TPMS_FLASH_ERASE((WORD)CParaAddr);                      // the function return 0x00, ERASE succeed ?

mCommonBuffer[0] = 0x77;

mCommonBuffer[1] = 0x88;

mCommonBuffer[2] = 0x99;

TPMS_FLASH_WRITE_1A((WORD)CParaAddr, &mCommonBuffer[0], 10);

SendDebugContent(CParaAddr[0], CParaAddr[1], CParaAddr[2]);

Re: FXTH87 flash operation functions

Resolved. CParaAddr is defined as const array.

SendDebugContent(CParaAddr[0], CParaAddr[1], CParaAddr[2]);

The compiler give three const to the function as parameters directly, instead of accessing the const array again.

Re: FXTH87 flash operation functions

the 2nd time calling

SendDebugContent(CParaAddr[0], CParaAddr[1], CParaAddr[2]);

receive data is still { 44 55 66 }, nothing changed

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎02-04-2026 04:44 AM
更新者: