www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀]AVR單片機內部集成了EEPROM,但是在GCC寫編寫EEPROM應用程序的時候,經常會出現讀寫EEPROM時程序出錯,或重啟等不正?,F象。在軟件仿真時也許結果是正確的,但是在片上運行的時候就不正常。困擾很久,終于發(fā)現原因在

AVR單片機內部集成了EEPROM,但是在GCC寫編寫EEPROM應用程序的時候,經常會出現讀寫EEPROM時程序出錯,或重啟等不正?,F象。在軟件仿真時也許結果是正確的,但是在片上運行的時候就不正常。困擾很久,終于發(fā)現原因在于編譯器,已經我們對EEPROM操作說明的理解不正確或不仔細。

操作EEPROM對時序的要求較高。更加Datasheet里的寫操作范例程序:

while(EECR & (1<

EEAR = address; //設置地址和數據寄存器

EEDR = data;

EECR |= (1

EECR |= (1<

以上代碼在GCC中的編譯結果,發(fā)現 EECR |= (1<

while(EECR & (1<

EEAR = address; //設置地址和數據寄存器

EEDR = data;

asm volatile("SBI 0x1C,2 \n\t");

asm volatile("SBI 0x1C,1 \n\t");

對于讀操作,發(fā)現采用Datasheet范例程序:

while(EECR & (1<

EEAR = address; //設置地址寄存器

EECR |= (1<

return EEDR; //自數據寄存器返回數據

進行單次操作似乎正常,但是連續(xù)操作可能導致程序個別運行不正常,現象象重啟,但通過邏輯分析儀跟蹤設置啟動時序情況看來,又不太象,不知什么原因。采用一下程序段則可以正常運行:

while(EECR & (1<

EEAR = address; //設置地址寄存器

asm volatile("SBI 0x1C,0 \n\t"); //設置EERE 以啟動讀操作

data = EEDR; //自數據寄存器返回數據

asm volatile("nop \n\t");

asm volatile("nop \n\t");

asm volatile("nop \n\t");

asm volatile("nop \n\t");

注意,讀操作后要空4個系統(tǒng)周期后才可執(zhí)行下個語句(Datasheet有說明)。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

控制寄存器(Control Register)是中央處理器(CPU)中用于管理系統(tǒng)級操作的特殊寄存器,它為操作系統(tǒng)和硬件提供對處理器行為的精細控制。本文從計算機體系結構角度系統(tǒng)闡述控制寄存器的設計原理、功能分類、操作機制...

關鍵字: 寄存器 處理器

在嵌入式系統(tǒng)開發(fā)中,硬件抽象層(Hardware Abstraction Layer,HAL)起著至關重要的作用。它為上層軟件提供了統(tǒng)一的硬件訪問接口,隱藏了底層硬件的細節(jié),使得軟件具有更好的可移植性和可維護性。C++作...

關鍵字: 嵌入式C++ HAL 寄存器 封裝

采用51單片機最小開發(fā)板,由8位自制獨立按鍵控制。單片機芯片為STC89C52RC,晶振為@12.000 mhz。8X8LED點陣屏模塊由MAX7219驅動,MAX7219包含一個自動掃描電路。你只需要把要顯示的數據發(fā)送...

關鍵字: 51單片機 MAX7219 寄存器

電源管理集成電路(PMIC)有益于簡化最終應用并縮小其尺寸,也因此備受青睞。然而,當默認啟動時序和輸出電壓與應用要求不符時,就需要定制上電設置。大多數情況下,電路沒有可以存儲這些設置的非易失性存儲器(NVM)。對此,低功...

關鍵字: 電源管理 集成電路 寄存器

我從Digilent公司拿出了我的Arty Z7板,并在Vivado/Vitis 2021.2中創(chuàng)建了一個項目來讓它工作,你可以在我的上一個項目帖子中閱讀,我在QDSP-6061的5位數上顯示滾動文本,上面寫著“Hell...

關鍵字: 寄存器 AXI4 QDSP-6061 RTL模塊

在現代電子設備中,電可擦可編程只讀存儲器(EEPROM)憑借其獨特的存儲特性,被廣泛應用于各類需要非易失性數據存儲的場景。從智能電表、工業(yè)控制系統(tǒng)到消費電子產品,EEPROM 承擔著存儲關鍵配置信息、校準數據以及用戶個性...

關鍵字: 只讀存儲器 數據存儲 EEPROM

在單片機系統(tǒng)的設計中,復位電路是確保單片機正常工作的關鍵組成部分。它能夠在系統(tǒng)啟動時將單片機的內部寄存器和狀態(tài)設置為初始值,保證單片機從一個確定的狀態(tài)開始運行。與門芯片作為一種常見的數字邏輯芯片,有時會被應用于單片機復位...

關鍵字: 復位電路 寄存器 單片機
關閉