• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

EBWE、EBMWE是哪个寄存器?

5ofi 2017-03-07 浏览量:1780
介绍EEPROM的控制寄存器EECR程序里出现语句   EECR&(1<<EBWE);   EECR|=(1<<EBMWE);   不懂EBWE和EBMWE的含义。 不知它们分别和EEWE、EEMWE有什么关系? 
高手解释一下它们的含义和用法。 谢谢啊。。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 在AVR GCC中,我们通常不直接通过寄存器操作EEPROM,而是利用eeprom.h中的函数,这样通用性号,可以适合大部分AVR单片机。寄存器的含义参考一下数据手册吧,


    eeprom_read_byte

    eeprom_read_word

    eeprom_read_dword


    ​eeprom_write_byte

    eeprom_write_word

    eeprom_write_dword​

    • 发布于 2017-03-07
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  •  

    Bits 7:4——Res:保留

    保留位,读操作返回值为零。

    Bit 3——EERIE: EEPROM就绪中断使能

    若SREG的I为1,则置位EERIE,使能EEPROM,就绪中断。清零EERIE。则禁止此中断。当EEWE清零时EEPROM就绪中断即可发生。

    Bit 2——EEMWE:EEPROM主机写使能

    EEMWE决定设置EEWE为1是否可以启动EEPROM写操作。当EEMWE为1时,在4个时钟周期内置位EEWE将把数据写人EEPROM的指定地址。若EEMWE为0,则EEWE不起作用,EEMWF置位后4个周期,硬件对其清零。

    Bit 1——EEWE: FEPROM写使能

    当EEPROM数据和地址设置好之后,需置位EEWE以便将数据写人EEPROM。此时EEMWE必须置位,否则EEPROM写操作将不会发生。写时序如下(第③和第④步不是必须的):

    ①等待EEWE为0。

    ②等待SPMCSR寄存器的SPMEN为零.

    ③将新的EEPROM地址写入EEAR.

    ④将新的EEPROM数据写人EEDR.

    ⑤对EECR寄存器的EEMWE写1,同时清零EEWE.

    ⑥在置位EEMWE的4个周期内,置位EEWE.

    在CPU写Flash存储器的时候不能对EEPROM进行编程。在启动EEPROM写操作之前,软件必须要检查Flash写操作是否已经完成。第②步仅在软件包含引导程序、允许CPU对Flash进行编程时才有用;如果CPU永远都不会写Flash,则第②步可以忽略。

    Bit 0—— EERE:EEPROM读使能

    EEPROM地址设置好之后,需置位EERE以便将数据读人EEAR, EEPROM数据的读取只需要一条指令且无需等待;读取EEPROM时,CPU要停止4个时钟周期。用户在读取EEPROM时应该检测EEWE,如果一个写操作止在进行,就无法读取EEPRUM,也无法改变寄存器EEAR。标定振荡器用于EEPROM访问定时。接下来就可以对片内EEPROM进行读/写访问操作。

     

    • 发布于2017-03-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 你可以查一下EBWE与EBMWE的DEFINE的定义,然后看看和EEWE和EEMWE的定义是否是重复了,我估摸着八成是重复了,因为的的语句可能是读取的里面的语句,如果不重复,你看看地址定义,对比一下EEWE和EEMWE的地址,应该就知道了
    • 发布于2017-03-07
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

EBWE、EBMWE是哪个寄存器?