在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR內(nèi)部EEPROM讀寫(xiě)范例

            AVR內(nèi)部EEPROM讀寫(xiě)范例

            作者: 時(shí)間:2013-12-12 來(lái)源:網(wǎng)絡(luò) 收藏

            /***********************************************

            **** ***

            **** 編譯器:WIN20050214 ***

            ***********************************************/

            /*

            本程序簡(jiǎn)單的示范了如何使用ATMEGA16的EERPOM

            EEPROM的簡(jiǎn)介

            EEPROM的寫(xiě)操作

            EEPROM的讀操作

            出于簡(jiǎn)化程序考慮,各種數(shù)據(jù)沒(méi)有對(duì)外輸出,學(xué)習(xí)時(shí)建議使用JTAG ICE硬件仿真器。

            在打開(kāi)調(diào)試文件到JTAG后,打開(kāi)Debug -> JTAG ICE Options菜單,然后在JTAG ICE Properties中點(diǎn)擊Dbug頁(yè)面,將preserve eeprom選項(xiàng)選中。 在每次仿真調(diào)試時(shí)候,就保護(hù)EEPROM內(nèi)容了。否則,會(huì)按照默認(rèn)設(shè)置擦除EEPROM的內(nèi)容。

            由于定義了EEPROM變量,JTAG調(diào)試時(shí)會(huì)詢問(wèn)是否初始化EEPROM,請(qǐng)選擇[否],EEPROM的數(shù)據(jù)也可以在view->memory,選Eeprom窗口下察看

            */

            #i nclude

            #i nclude

            ////時(shí)鐘定為內(nèi)部1MHz,F_CPU=1000000 時(shí)鐘頻率對(duì)程序的運(yùn)行沒(méi)什么影響

            /*

            GCC(avr-libc)里面自帶了EEPROM的讀寫(xiě)函數(shù)。

            下面列舉部分常用函數(shù)(原型)

            #define eeprom_is_ready() bit_is_clear(EECR, EEWE)

            檢測(cè)EEPROM是否準(zhǔn)備好。OK返回1(返回EEWE位)

            #define eeprom_busy_wait() do {} while (!eeprom_is_ready())

            等待EEPROM操作完成

            extern uint8_t eeprom_read_byte (const uint8_t *addr);

            讀取指定地址的一個(gè)字節(jié)8bit的EEPROM數(shù)據(jù)

            extern uint16_t eeprom_read_word (const uint16_t *addr);

            讀取指定地址的一個(gè)字16bit的EEPROM數(shù)據(jù)

            extern void eeprom_read_block (void *buf, const void *addr, size_t n);

            讀取由指定地址開(kāi)始的指定長(zhǎng)度的EEPROM數(shù)據(jù)

            extern void eeprom_write_byte (uint8_t *addr, uint8_t val);

            向指定地址寫(xiě)入一個(gè)字節(jié)8bit的EEPROM數(shù)據(jù)

            extern void eeprom_write_word (uint16_t *addr, uint16_t val);

            向指定地址寫(xiě)入一個(gè)字16bit的EEPROM數(shù)據(jù)

            extern void eeprom_write_block (const void *buf, void *addr, size_t n);

            由指定地址開(kāi)始寫(xiě)入指定長(zhǎng)度的EEPROM數(shù)據(jù),但不支持部分AVR,原文如下:

            ote This library will e not work with the following devices since these

            devices have the EEPROM IO ports at different locations:

            - AT90CAN128

            - ATmega48

            - ATmega88

            - ATmega165

            - ATmega168

            - ATmega169

            - ATmega325

            - ATmega3250

            - ATmega645

            - ATmega6450


            上一頁(yè) 1 2 3 下一頁(yè)

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉