合泰微控制器內建eeprom只能讀不能寫要怎麼解決

2021-05-28 02:53:27 字數 1232 閱讀 2281

1樓:匿名使用者

我也遇到這樣的問題。沒人給出答案,我來說一下吧。(主要是針對v3編譯c)

根據holtek_c_compiler_v3_faq(950).pdf的描述,v3不保證編譯後的指令符合eeprom寫入順序。根據bs86的資料手冊,wren 和 wr一定要符合順序。

我編譯後的指令出現的是lset wren以及lset wr,這個就出問題了。晶片需要的是set。

解決方法是根據官方faq的描述

"5.5 對於寫 eeprom 有限制的 mcu ( 需連續 set wren, wr, flag),如何使用

v3 寫 eeprom?"

下面是**

//refer to holtek_c_compiler_v3_faq(950).pdf

typedef structiar_bits;

define_sfr(iar_bits, iar1, 0x02);

#define iar1_3 iar1.bit3

#define iar1_2 iar1.bit2

#define iar1_1 iar1.bit1

#define iar1_0 iar1.bit0

...uint8_t bkup;

_eea = u8addr;

_eed = u8newdata;

_mp1l = 0x40;

bkup  = _mp1h;

_mp1h = 0x01;

_emi = 0;

iar1_3 = 1;

iar1_2 = 1;

_emi = 1;

while(iar1_2)

_iar1 = 0;

_mp1h = bkup;

...官方的解決方案產生的**跟資料手冊中的一直:

;129 iar1_3 = 1;

0d0d 3182 set     __iar1[0].3  《以前這裡是lset wren

;130 iar1_2 = 1;

0d0e 3102 set     __iar1[0].2  《以前這裡是lset wr

2樓:匿名使用者

eec 位於 sector 1 中,只能間接訪問。樓主再看看手冊吧

3樓:匿名使用者

沒有切換bank,eec在bank1

4樓:電子瘋人

是不是沒有擦除eeprom?

at89s51微控制器內部包含哪些主要邏輯功能部件各部分的功

微控制器 microcontrollers 是一種bai積體電路晶片,du是採用zhi超大規模積體電路技術把具有dao資料處理能回 力的 處理器答cpu 隨機儲存器ram 只讀儲存器rom 多種i o口和中斷系統 定時器 計數器等功能 可能還包括顯示驅動電路 脈寬調製電路 模擬多路轉換器 a d轉換...