<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 網絡與存儲 > 設計應用 > stm8s開發(fā)(九) EEPROM的使用:使用EEPROM存儲數據!

          stm8s開發(fā)(九) EEPROM的使用:使用EEPROM存儲數據!

          作者: 時間:2017-09-25 來源:網絡 收藏

            是單片機應用系統(tǒng)中經常會用到的存儲器,它主要用來保存一些掉電后需要保持不變的數據。在以前的單片機系統(tǒng)中,通常都是在單片機外面再擴充一個芯片,這種方法除了增加成本外,也降低了可靠性?,F在,很多單片機的公司都推出了集成有小容量的單片機,這樣就方便了使用,降低了成本,提高了可靠性。

          本文引用地址:http://www.ex-cimer.com/article/201709/364741.htm

            STM8單片機芯片內部也集成有EEPROM,容量從640字節(jié)到2K字節(jié)。最為特色的是,在STM8單片機中,對EEPROM的訪問就象常規(guī)的RAM一樣,非常方便。EEPROM的地址空間與內存是統(tǒng)一編址的,地址從004000H開始,大小根據不同的芯片型號而定。

            為了管理方便,定義EEPROM的地址

            #define EP_HEADER_ADDR 0x4000

            操作EEPROM需要初始化,也就是FLASH解鎖,解鎖需要兩個密鑰,順序還不能調換。

            void EEPROM_init(void)

            {

            do

            {

            FLASH_CR1=0x00;

            FLASH_CR2=0x00;

            FLASH_NCR2=0xFF;

            FLASH_DUKR = 0xAE; // 寫入第一個密鑰

            FLASH_DUKR = 0x56; // 寫入第二個密鑰

            } while((FLASH_IAPSR & 0x08) == 0); // 若解鎖未成功,則重新再來

            }

            還有一個加鎖的功能,一般來說操作完EEPROM之后需要加鎖保護。

            void EEPROM_lock(void)

            {

            FLASH_IAPSR=(u8)(~0x08); //重新上鎖

            }

            接下來就是兩個讀寫的基本操作了。

            //EEPROM指定地址寫入一個數據 addr:相對地址 dat:數據

            void EEPROM_write(unsigned char addr, unsigned char dat)

            {

            unsigned char *p;

            p=(unsigned char *)(EP_HEADER_ADDR + addr);

            *p=dat;

            while(!(FLASH_IAPSR&0x04)); //等待寫操作成功

            }

            //EEPROM指定地址讀出一個數據 addr:相對地址

            unsigned char EEPROM_read(unsigned char addr)

            {

            unsigned char *p;

            p=( unsigned char *)(EP_HEADER_ADDR + addr);

            return *p;

            }

            這里給的地址是絕對地址,函數內有個偏移地址的操作(偏移4000H)。

            炒雞簡單是不?

            有關EEPROM和FLASH的介紹:http://blog.csdn.net/yuanlulu/article/details/6163106

            附上在IAR環(huán)境下的項目工程,包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代碼。

            http://download.csdn.NET/detail/devintt/9454188



          關鍵詞: stm8s EEPROM

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();