娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月21日(星期六)

2021年06月21日 | AVR系列之內部EEPROM的操作

發布者:SerendipityRose 來源: eefocus關鍵字:AVR系列  內部EEPROM  M16 手機看文章 掃描二維碼
隨時隨地手機看文章

程序針對的是M16的內部EEPROM 它的大小只有512個字節 對它的操作 是要注意它的操作時序 首先是先等待對EEPROM的操作(讀或寫)禁止  即是控制寄存器中的EEWE/EERE為0  然后寫入地址 接著就寫入數據到數據寄存器EEDR或讀出數據  下面的實現的功能是這樣的 PC通過串口發送字符串給EEPROM  發送@R  讀EEPROM中的內容 并通過串口發送給PC


代碼如下:

#include

#include

#define uchar unsigned char

 

uchar RecvFlag = 0;      //串口接收到的數據
uchar Flag = 0;       //為1時表示接收到了@,如果緊接著收到R則發送EEPROM中的數據
uint EEpromAdd = 0;                 //存儲在EEPROM中的地址
uchar temp[255],tempcnt = 0;   //暫存數據
uchar temp1;                               //暫存串口接收到的數據

 

//EEPROM的寫程序

void EepromWrite ( uint addr, uchar val)   //向EEPROM寫操作
{
   while ( EECR&0x02 );              //判斷EEWE是否為0
    EEAR = addr;
    EEDR = val;
    CLI();
    EECR = EECR|0x04;                //置EEMWE為1
    EECR = EECR|0x02;               //置EEWE為1
    SEI();  
}

 

//EEPROM讀程序

void EepromRead (uchar num, uint addr, uchar *val)    //向EEPROM讀操作
{
   while (num)
  {
       while ( EECR&0x01 );  //判斷EEWE是否為0
       EEAR = addr;
       EECR = EECR|0x01;     //置EERE為1
      *val = EEDR;
      addr++;
      val++; 
      num--;
   }
}

//串口初始化

void Uart0Init(void)                  // AVR中串口的初始化程序
{
   UCSRB = 0x00;                     //關串口
   UCSRA = 0x02;                   //倍速模式   M16中文P151
   UCSRC = BIT(URSEL) | 0x06;  //寫UCSRC寄存器,設定8個bit
   UBRR  = 206;                              //設定串口波特率為600
   UCSRB = 0x98;                          //開串口
}

 

//串口中斷服務函數

#pragma interrupt_handler UartRecvData:12
void UartRecvData(void)
{
     temp1 = UDR;
     RecvFlag = 1;
}

 

//發送字符串

void UartTransmitData(uchar *SendData, uint len)
{
   uint i;
   for( i = 0; i < len; i++)
  {
     while(!(UCSRA&0x20));      //判斷數據寄存器是否為空
     UDR = SendData[i];
   }
}

 

//初始化各種信息

void InitDevices(void)
{
    CLI();           //關全部中斷
    Uart0Init();
    SEI();              //開全中斷
}

 

//主函數

void main ( void )

{

    uchar EepromData[255] ;
    uint j;
    InitDevices();   
    while(j++);   
    EepromRead (255, 0, EepromData); //讀取上次斷電前程序存儲的數據
    UartTransmitData(EepromData, 255); //通過串口顯示
    while(1)11
   {
      if ( Flag == 2 )
     {
        Flag = 0;
        EepromRead (EEpromAdd, 0, EepromData);//讀取本次存儲的數據,串口輸出
        UartTransmitData(EepromData, EEpromAdd);
      }
      if ( RecvFlag )
     {
         RecvFlag = 0;
         if( temp1 == '@')
         Flag = 1;
         else if(((temp1 == 'R')||(temp1 == 'r'))&&( Flag == 1))//連續接收到@R
        {
            Flag = 2;
        }
        else
       {
           Flag = 0;
           EepromWrite ( EEpromAdd++, temp1);
           if ( EEpromAdd >= 255)
                EEpromAdd = 0;
        }
    }
  }

}


關鍵字:
AVR系列  內部EEPROM  M16 引用地址:AVR系列之內部EEPROM的操作

上一篇:AVR之簡單的ADC程序
下一篇:AVR 下載時 ISP 怎樣設置關斷JTAG功能

推薦閱讀

通過世界級的尖端知識和合作實現新一代高頻、高效、高密度電源系統 納微(Navitas)今天宣布在杭州開設新的GaNFast研發中心,以幫助合作伙伴和客戶設計技術領先的電源轉換器;相比傳統的硅MOS管方案,這些新設計能讓體積縮小50%,重量減輕50%,可為移動應用終端提供快3倍的充電速度。 納微高級應用總監兼新研發中心負責人徐迎春表示:“GaNFast研發中心擁有...
在2019年的政府工作報告中,中國將2019年的國內生產總值增長目標設定為6%到6.5%,并表示要促進高質量、可持續發展。此前,中央經濟工作會議也提出2019年要重點抓好推動制造業高質量發展工作。企業作為技術創新主體、技術創新主力軍,利用數字技術賦能的方式幫助傳統企業實現轉型升級及促進新興產業發展的大勢,已勢不可擋。大數據、云計算、物聯網等新技術...
STVD編譯好工程后,不知道在哪里查固件占用的FLASH、EEPROM、RAM情況,很不方便,查閱了相關資料后,終于找到一個簡單高效的方法,親測可用!1、首先需要下載一個第三方工具,詳見:https://download.csdn.net/download/hb69222/117621452、將上面的軟件放在COSMIC編譯軟件的安裝目錄 默認的是C:Program FilesCOSMICCXSTM83、打開一個stm8工程,右鍵選擇s...
摩根士丹利證券近日發布報告,將臺積電投資評等降至“中立”,與外資圈主流意見相左,推測合理股價為580元新臺幣,低于市場共識23%的股價預期。報告指出,臺積電憑藉商業化“摩爾定律”,取得極大成功,帶動過去長時間的本益比擴張,但5nm制程后的資本支出強度會更高,先進制程晶圓代工的投資回報率(ROI)出現結構性下滑。大摩認為,根據3nm晶圓的初步定...

史海拾趣

問答坊 | AI 解惑

西門子 PROFIBUS2DP 現場總線及應用

根據尾槳試驗臺拖動系統的特點及技術要求 , 采用 S72300 PLC作為中央控制器 , PⅡ工控機作為監控計算機 , SIMOVERTMD 工程型變頻器作為 DP從站 , 構成了一個基于 PROFIBUS2DP現場總線的控制網絡。…

查看全部問答∨

基于ARM的直流電機調速系統的設計與實現

摘要:闡述了基于ARM的嵌入式智能小車系統中的直流電機調速子系統,此調速系統主要由S3C44B0X處理器和L298N電機驅動芯片構成,主要功能是驅動小車的兩個車輪,調節小車的行駛速度和方向。文中詳細介紹了S3C44B0X處理器中的相關寄存器設置及工作方式 ...…

查看全部問答∨

嵌入式環境下3G上網模塊調試?

小弟最近需要在嵌入式環境下對3G上網模塊進行調試,采用的模塊是華為的EM775。以前是有對GPRS進行調試的一些經驗,但是對于3G上網模塊,又是USB驅動,又是模塊驅動的,有點摸不到頭腦了。請問論壇里的各位前輩,有誰有這方面的經驗,順便指點下?? ...…

查看全部問答∨

關于CE下線程執行優先級的問題

{ ...... // 啟動線程,開始播放聲音, 并將線程的優先權設置為最高,希望它立即去執行 HANDLE m_hThread = CreateThread(NULL, 0, TOPlaySoundThread, NULL, 0, NULL); SetThreadPriority( m_hThread,THREAD_PRIORITY_TIME_CRITICAL); Sleep( ...…

查看全部問答∨

如果我要win ce dll驅動程序動態加載,是不是要改掉*.reg文件

我一個wince的鍵盤驅動程序的*.reg參數文件是這樣寫的: [HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\HGPIOs]       \"Index\"=dword:1       \"Prefix\"=\"HGP\"       \"Dll\"=\"H ...…

查看全部問答∨

有關噪音傳感器的問題

大師們好!     有誰能給我提供一些噪音傳感器的商品介紹。加入測馬路上的噪音應該用到什么樣子靈敏度的噪音,有沒有推薦的。     只有mic加放大器夠用么?…

查看全部問答∨

怎么使得CComboBox默認是上拉?

一般來說只要到屏幕底端有足夠空間,就下拉. 如果沒有足夠空間就上拉. 那么應該存在的上拉這個功能. 我想讓它自動默認的為上拉,該怎么做? 如果不行,也可以這樣,讓下拉菜單不要長出我的對話框的底端也可以…

查看全部問答∨

LPC1114數據寄存器

最近又看了一下LPC1114的數據寄存器的內容。數據寄存器允許從被設置為輸入的引腳上讀取數據,往被設置輸出的引腳寫值。每個端口數據寄存器占用地址空間的0-0X3FFC,地址位13:2用于屏蔽。如圖1:  原先一直對這個數據屏蔽作用搞不太懂,現在 ...…

查看全部問答∨

求 邦華330 無線擴音器電路原理圖!

邦華330改進版、 最新功能:數字收音,USB、SD讀卡功能,數字顯示屏,卡座功能           技術參數:   1.電源:AC220V 內置DC12V/1.2AH 蓄電池,外接VDC   2.頻率范圍:VHF165-265MHz   3.振 ...…

查看全部問答∨

全國電子設計大賽傳感器資料--競賽必備

replyreload += \',\' + 1146391;Timson,如果您要查看本帖隱藏內容請回復參賽選手必備資料…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 林芝县| 伊吾县| 红河县| 潍坊市| 山西省| 南通市| 荆州市| 彰化县| 涿州市| 北票市| 金坛市| 秦皇岛市| 商都县| 隆子县| 红河县| 宣恩县| 宜宾县| 邵东县| 神农架林区| 枣庄市| 弋阳县| 营口市| 乐东| 图木舒克市| 呼图壁县| 定结县| 莱芜市| 舟山市| 北海市| 霞浦县| 柳河县| 温泉县| 增城市| 广水市| 历史| 资兴市| 大丰市| 育儿| 泸定县| 黄浦区| 邯郸市|