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

歷史上的今天

今天是:2025年02月27日(星期四)

正在發生

2020年02月27日 | AVR單片機的EEPROM讀寫分析

發布者:Xingfu8888 來源: eefocus關鍵字:AVR單片機  EEPROM  讀寫分析 手機看文章 掃描二維碼
隨時隨地手機看文章

簡介:本文介紹了AVR單片機的EEPROM讀寫數據時間問題,并分析了3個方法的各自優缺點。


由于AVR的EEPROM寫周期比較長(一般為毫秒級),因此在編程使用過程中要特別注意.對于讀EEPROM沒什么好說的,讀一個字節的數據要耗費4個時鐘周期,可以忍受,寫就比較麻煩了,雖然放在EEPROM的數據都不是頻繁訪問的;雖然可以用讀-比較-寫的機制降低EEPROM的寫操作頻度,但在寫入過程中,過長的寫入周期還是會造成一些問題,下面就分析一下幾種方式的EEPROM寫操作.


1. 循環查詢式


將地址和數據寫入EEPROM相關的寄存器,置寫標志后就循環不斷查詢寫完成標志,直到寫完成,退出循環,順序執行其他程序.在置寫入標志到寫完成的這段時間,程序除了不斷查詢寫完成標志和響應硬件中斷之外什么也不干,這段時間就這么浪費了,如果是個實時性要求比較高的應用,浪費的就不僅是時間了,很可能在這段時間里I/O狀態的變化不能得到及時的響應,如果一下子要進行多個字節的EEPROM的寫入操作,那情況會更糟.針對這種情況,有種解決辦法就是,這個寫完成查詢放在軟件的死循環中(無操作系統的情況下,系統啟動后都要進入一個死循環),每循環一次查詢一次寫完成標志,這樣就不必一直等待寫操作完成而可以干別的事情了,但是這樣會帶來兩個問題.一是,如果死循環周期無法保證,則每一次的EEPROM寫操作的完成標志查詢也得不到保證,從而進行一次EEPROM寫操作的周期也無法保證(最長延遲時間就是一個死循環周期的最長時間);二是,在執行一次EEPROM寫入操作到寫完成這段時間里死循環里其它的子程序不能進行EEPROM讀寫操作.第一個問題如果能保證最大循環周期在延遲允許范圍內就不是問題了,否則就得采取下面講到的方式二了;第二個問題的解決方法是每次EEPROM讀寫操作都要在其中加入對EEPROM寫完成標志寄存器的判斷,如果有數據正在寫入,則等待或退出,但等待和退出又會造成等待延遲和寫入操作不成功的問題,解決辦法是先放入一個數據緩沖區,待上一次寫入操作完成,再從緩沖區里拽出一個字節進行下一次寫入周期,但這又會涉及到選擇合適的緩沖區大小以及的問題,這個問題在下面中斷式操作里繼續討論.


2.定時查詢式


在寫入EEPROM地址和數據寄存器置寫標志后啟動定時器,定時查詢寫完成標志,這種方法繼承了方式1的大部分優缺點,唯一的進步就是能夠確定寫操作延遲時間為定時周期.


3.中斷式


編寫EEPROM寫完成中斷子程序,設置一個FIFO緩沖區,要寫入的數據先放入這個FIFO,如果EEPROM操作空閑,則從FIFO中揪一字節數據出來寫EEPROM,置完寫完成標志就返回,然后去干別的事情,EEPROM寫完成產生一個中斷,在中斷服務程序中再從FIFO中揪一個字節去寫EEPROM,如此循環直到FIFO空,這種方式雖然能在第一時間完成一次寫操作,但是還是有個和和方式1中提到一樣的問題,怎么選擇這個FIFO的大小.小了,待寫入數據可能溢出丟失,大了,多大算大,1K夠不夠,10K夠不夠,硬件上有這么多RAM空間么,這就需要根據實際資源和系統需求來定了.如果EEPROM寫操作頻率很低,比一次EEPROM寫操作間隔還要長得多,那么幾個單位的FIFO就足夠了;如果EEPROM寫操作頻率可能很高或一次大批量連續寫入數據就要求很大的FIFO,達到能夠保證數據不丟失,這就要根據批量數據大小和寫頻率來定了,另外還要考慮可用RAM空間的限制來找出最佳值,同時有FIFO溢出一定要制定相應的應對措施.


最后注意兩點:


1. 讀寫之前一定要檢測是否已經有EEPROM寫操作;在寫完成之后一定要再讀出寫入的數據校驗寫入操作是否成功,不成功則EEPROM損壞,要做好應對措施.


2.如果要保存一個16位的數據,一定要保證在這16位數據分成的兩字節都成功寫入了EEPROM再去讀該數據,否則在剛寫完一個字節就去讀該數據,得到的數據顯然不是你想要的,如果該數據是一重要參數,后果可想而知.

關鍵字:AVR單片機  EEPROM  讀寫分析 引用地址:AVR單片機的EEPROM讀寫分析

上一篇:用AVR單片機實現多功能數顯電子秤的設計方案
下一篇:關于AVR中斷的優先級

推薦閱讀

團隊主力成員是清一色的85后,最小的僅28歲為完美演繹進行了近百次彩排,慶功宴吃的是炸雞和啤酒沈陽新松移動機器人科技團隊從平昌凱旋聽他們講述炫舞“北京八分鐘”的幕后故事“來了!來了!”2月26日14時許,隨著炫舞“北京八分鐘”沈陽新松移動機器人科技團隊成員列隊從國際到達出口走出,沈陽桃仙國際機場瞬間沸騰,人們用鮮花、掌聲、閃光燈迎接這群...
2月27日,科技部基礎研究管理中心召開“2018年度中國科學十大進展專家解讀會”,發布2018年度中國科學十大進展。其中,這十項重大進展包括:基于體細胞核移植技術成功克隆出獼猴創建出首例人造單染色體真核細胞揭示抑郁發生及氯胺酮快速抗抑郁機制研制出用于腫瘤治療的智能型DNA納米機器人測得迄今最高精度的引力常數G值首次直接探測到電子宇宙射線能譜在1...
2018年2月6日,一輛櫻桃紅色的特斯拉跑車搭乘SpaceX公司的獵鷹重型火箭去往了太空。跑車里面坐著一個叫Starman的仿真宇航員,車內屏幕上寫著Don’t panic,車里放著一條毛巾和一本《銀河系漫游指南》,音響里放著David Bowie的Space Oddity。這是一場廣告,但也是一次致敬,這個以物理學家命名的企業,似乎又多了一層浪漫。這輛離地球愈發遙遠的汽車和...
魅族將于 3 月 2 日召開 Flyme 9 發布會,3 月 3 日召開魅族 18 系列 5G 雙旗艦發布會。今日魅族科技宣布,與京東之家達成全渠道深度合作,魅族 18 手機在京東之家線下店展示銷售,給予優惠樣機政策、新品首發專項貨源。  在海報中魅族還表示,雙方將進行全渠道線上、線下整合營銷合作,消費者可在門店體驗新機,魅友活動可在...

史海拾趣

問答坊 | AI 解惑

通過USB向單片機傳輸信號可行嗎?

通過USB向單片機傳輸信號可行嗎?我想通過USB向單片機傳入某一信號,再由單片機傳出相應的電平信號,這個設想可行嗎?有沒有什么具體的實行方法?…

查看全部問答∨

STC89S52與AT89S52替換問題

STC89S52和AT89S52功能一樣嗎?STC89S52可以替換AT89S52嗎? 我認為應該是可以的 但是我的認為和實際卻相悖! 我有個學習板,上面支持STC的串口下載和支持AT的usb下載 我自己搭了一個電路,晶振用3.5M的。 我通過學習板把hex文件下載到STC單片 ...…

查看全部問答∨

使用F2812開發時需注意的問題

最近有部分用戶咨詢:為何編譯程序沒有問題,可是燒錄不進去,或者燒錄成功了無法運行 需要注意的問題: 1,CMD:F2812與別的器件不同,在調試過程中使用的一般是對于SRAM的定義,編譯一個SRAM.CMD,所以調試的時候沒有問題,但是燒寫FLASH的時候 ...…

查看全部問答∨

關于Keil的單步調試

我剛開始學習51單片機,在用Keil軟件進行單步調試時,出現的是匯編語言界面,在C程序上不能添加斷點,只能在匯編界面上加斷點,但看郭天祥的視頻是可以在C程序上直接添加斷點的,請問這種情況該如何解決,非常感謝~…

查看全部問答∨

用M3實現UART

用M3實現UART [ 本帖最后由 taburiss001 于 2011-10-11 14:26 編輯 ]…

查看全部問答∨

MSP430團購心得

今天很高興看到了貴網站發布的消息,希望能夠順利得到這個板子,我是在校的大學生,希望高人指點  …

查看全部問答∨

【曬設計方案】STM32F429i開發板顯示U盤圖像

顯示U盤圖像這個例程在軟件包的 LTDC_AnimatedPictureFromUSB子目錄 下。當然,還準備OTG-USB線,帶有符合格式的圖像的 U盤。 先有根OTG-USB線,象這樣的: 我買的這根也不太貴,只是想能用就行。 在例程的Media子目錄下有一些圖像,拷貝到U ...…

查看全部問答∨

用proteus給msp430仿真是沒回都出現這問題,請問是咋回事,不論是進行什么實驗

本帖最后由 你儂我儂 于 2014-5-9 08:53 編輯 C:\\Users\\Lenovo\\Desktop…

查看全部問答∨

【DIY--手機】季夏木槿:即將完工的手機

本帖最后由 季夏木槿 于 2014-7-28 23:29 編輯       我DIY的手機終于要完工了。。。       最開始,由于缺少部分硬件,于是我先把顯示界面和主菜單寫好了         &nb ...…

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

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 辉县市| 商水县| 布尔津县| 讷河市| 贡山| 浦东新区| 桓台县| 永新县| 兴化市| 绥中县| 诸暨市| 高邮市| 宝清县| 临朐县| 呼伦贝尔市| 台南市| 临夏县| 广汉市| 德江县| 栾川县| 扶余县| 桑日县| 汨罗市| 灌云县| 西和县| 温州市| 南部县| 南靖县| 河北省| 丹巴县| 高邮市| 钦州市| 左权县| 通江县| 开鲁县| 丹棱县| 前郭尔| 娄底市| 中阳县| 平阴县| 永仁县|