中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MSP430---FLASH 讀寫

        MSP430---FLASH 讀寫

        作者: 時間:2013-05-13 來源:網(wǎng)絡 收藏

        可以連續(xù)寫入

        // 按字節(jié)寫入指定的數(shù)量的數(shù)據(jù)

        void flash_memcpy(char *ptr, char *from, int len)

        {

        _DINT();

        FCTL3 = 0x0A500; /* Lock = 0 */

        FCTL1 = 0x0A540; /* Write = 1 */

        while (len)

        {

        *ptr++ = *from++;

        len--;

        }

        }

        在我們的應用程序中可以將要保存的數(shù)據(jù)放在一個自定義的結構中,例如:

        typedef struct Setup

        {

        float gain_ch0; // 0通道增益

        float gain_ch1; // 1通道增益

        float gain_ch2; // 2通道增益

        char init_flag; //初始化標記,恒為0xAA;

        }SETUP;

        我們定義了一個SETUP結構,存放三個AD通道的增益,以及其他要掉電保存的信息,init_flag的作用是標志的參數(shù)是否已被正確初始化,當我們設置了參數(shù)后,將init_flag置一個固定值,例如設為0xAAh,在程序開始運行時,檢查init_flag,當init_flag的值為0xAAh時,表明參數(shù)已被初始化。

        使用FLASH參數(shù):在程序中定義一個SETUP類型的指針變量,通過這個指針訪問FLASH中的參數(shù)。例如:

        #define SegmentA 0x1080

        float temp;

        SETUP *p_setup_flash = (SETUP *) SegmentA

        if(p_setup_flash-> init_flag == 0xAA)

        {

        temp = p_setup_flash->gain_ch0;

        }

        修改FLASH信息:由于FLASH不能象RAM一樣直接修改,可以將FLASH信息拷貝到RAM中,修改相應參數(shù)后,重新保存到FLASH中,之前要先擦除FLASH存儲區(qū)。例如:

        SETUP *p_setup;

        SETUP buf; // 臨時變量

        p_setup = (SETUP *) SegmentA // 指向FLASH

        memcpy((char *) buf, (char *) p_setup_flash, sizeof(SETUP)); // 拷貝到RAM

        p_setup = buf; // 指向RAM

        p_setup-> gain_ch0 = 1.02; // 修改參數(shù)

        flash_memcpy((char *) p_setup_flash, (char *) buf, sizeof(SETUP)); // 拷貝到FLASH

        存儲器相關文章:存儲器原理



        上一頁 1 2 下一頁

        關鍵詞: MSP430 FLASH 存儲器

        評論


        相關推薦

        技術專區(qū)

        關閉