FXTH87 flash operation functions

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

FXTH87 flash operation functions

1,617 次查看
fuhuiming
Contributor I

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]);

0 项奖励
2 回复数

1,415 次查看
fuhuiming
Contributor I

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.

0 项奖励

1,415 次查看
fuhuiming
Contributor I

the 2nd time calling

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

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

0 项奖励
%3CLINGO-SUB%20id%3D%22lingo-sub-448100%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EFXTH87%20%E9%97%AA%E5%85%89%E7%81%AF%E6%93%8D%E4%BD%9C%E5%8A%9F%E8%83%BD%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-448100%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E4%B8%BA%E4%BB%80%E4%B9%88%E8%B0%83%E7%94%A8%20TPMS_FLASH_ERASE()%20%E5%92%8C%20TPMS_FLASH_WRITE()%20%E5%87%BD%E6%95%B0%E5%90%8E%E6%B2%A1%E6%9C%89%E4%BB%BB%E4%BD%95%E5%8F%98%E5%8C%96%EF%BC%9F%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E6%9C%89%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98%EF%BC%9F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Efosc%20%3D%208MHz%EF%BC%8Cfbus%20%3D%204MHz%3C%2FP%3E%3CP%3EFCDIV%20%3D%2021%3B%20%2F%2F%20Fclk%20%3D%204MHz%20%2F%20(21%2B1)%20%3D%20181.18KHz%20-%20150KHz~200KHz%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%2F%2F----------------------------------------------------------------------------------%3C%2FP%3E%3CP%3Econst%20%E5%AD%97%E8%8A%82%20cparaAddr%20%5B%5D%20%40%200xD200U%20%3D%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E%200x44%E3%80%810x55%E3%80%810x66%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%81%3C%2FP%3E%3CP%3E%200xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%810xff%E3%80%81%3C%2FP%3E%3CP%3E%20%7D%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E......%3C%2FP%3E%3CP%3EFCDIV%20%3D%2021%EF%BC%9B%3C%2FP%3E%3CP%3ESendDebugContent(CParaAddr%5B0%5D%2C%20CParaAddr%5B1%5D%2C%20CParaAddr%5B2%5D)%3B%20%2F%2F%20receive%20data%20are%20%7B%2044%2055%2066%20%7D%3C%2FP%3E%3CP%3EmRfData1%20%3D%20TPMS_FLASH_ERASE((WORD)CParaAddr)%EF%BC%9B%2F%2F%E5%87%BD%E6%95%B0%E8%BF%94%E5%9B%9E%200x00%EF%BC%8CERASE%20%E6%88%90%E5%8A%9F%EF%BC%9F%3C%2FP%3E%3CP%3EmCommonBuffer%5B0%5D%20%3D%200x77%EF%BC%9B%3C%2FP%3E%3CP%3EmCommonBuffer%5B1%5D%20%3D%200x88%EF%BC%9B%3C%2FP%3E%3CP%3EmCommonBuffer%5B2%5D%20%3D%200x99%EF%BC%9B%3C%2FP%3E%3CP%3ETPMS_FLASH_WRITE_1A((WORD)CParaAddr%2C%26amp%3BmCommonBuffer%5B0%5D%2C%2010)%EF%BC%9B%3C%2FP%3E%3CP%3ESendDebugContent(CParaAddr%5B0%5D%2C%20CParaAddr%5B1%5D%2C%20CParaAddr%5B2%5D)%EF%BC%9B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-448102%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20FXTH87%20flash%20operation%20functions%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-448102%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E5%B7%B2%E8%A7%A3%E5%86%B3%E3%80%82CParaAddr%20%E8%A2%AB%E5%AE%9A%E4%B9%89%E4%B8%BA%E5%B8%B8%E6%95%B0%E7%BB%84%E3%80%82%3C%2FP%3E%3CP%3ESendDebugContent(CParaAddr%5B0%5D%2C%20CParaAddr%5B1%5D%2C%20CParaAddr%5B2%5D)%EF%BC%9B%3C%2FP%3E%3CP%3E%E7%BC%96%E8%AF%91%E5%99%A8%E4%BC%9A%E7%9B%B4%E6%8E%A5%E5%B0%86%E4%B8%89%E4%B8%AA%20const%20%E4%BD%9C%E4%B8%BA%E5%8F%82%E6%95%B0%E6%8F%90%E4%BE%9B%E7%BB%99%E5%87%BD%E6%95%B0%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E5%86%8D%E6%AC%A1%E8%AE%BF%E9%97%AE%20const%20%E6%95%B0%E7%BB%84%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-448101%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20FXTH87%20flash%20operation%20functions%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-448101%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E7%AC%AC%E4%BA%8C%E6%AC%A1%E6%8B%A8%E6%89%93%3C%2FP%3E%3CP%3ESendDebugContent(CParaAddr%5B0%5D%2C%20CParaAddr%5B1%5D%2C%20CParaAddr%5B2%5D)%EF%BC%9B%3C%2FP%3E%3CP%3E%E6%8E%A5%E6%94%B6%E6%95%B0%E6%8D%AE%E4%BB%8D%E7%84%B6%E6%98%AF%20%7B%2044%2055%2066%20%7D%EF%BC%8C%E6%B2%A1%E6%9C%89%E4%BB%BB%E4%BD%95%E5%8F%98%E5%8C%96%3C%2FP%3E%3C%2FLINGO-BODY%3E