已回答假定已回答

ADuCM360:能否在flash中单字节存储数据

bomlulu 在 2015-12-4 詢問的問題
最後回覆由adi_susan於2015-12-24提供

在给的flash的例程中:

void WriteToFlash(unsigned long *pArray, unsigned long ulStartAddress, unsigned int uiSize)
{
   unsigned int uiPollFEESTA = 0;
   volatile unsigned long *flashAddress;
   unsigned int i = 0;
   
   flashAddress = ( unsigned long      *)ulStartAddress;
   FeeWrEn(1);
   uiPollFEESTA = FeeSta(); // Read Status to ensure it is clear
   for (i = 0; i < uiSize; i = i+4)
   { 
      uiPollFEESTA = 0;
      *flashAddress++  = *pArray++;
      do
         {uiPollFEESTA = FeeSta();}
       while((uiPollFEESTA & FEESTA_CMDBUSY) == FEESTA_CMDBUSY);
   }  
   FeeWrEn(0);       // disable a write to Flash memory
}

 

这里flashAddress++每次执行后,flash中的地址都加4,每次写入的数据都占四个字节。

但是若将flashAddress定义为uchar后,又无法将正确的地址给它,因为例如地址0x1f000,都超过它的大小,

那么ADUCM360是否能够以每字节为单位存储数据呢?

結果