📄 eeprom.c
字号:
/*
* 内部EEPROM读写实验程序,用winavr的库函数eeprom.h里的函数访问eerpom,系统重启一次数码管显示加1
* EasyAVR-M16 开发板例程
* CopyRights @ EES
* Author:ken
* Date:2007-8-20
*/
// CLOCK: 7.3728MHZ
#include <avr/io.h>
#include <avr/eeprom.h>
#include "disp.h"
#include "type.h"
uchar buff[8]={0,0,0,0,0,0,0,0}; //8位显示缓冲区
int main(void)
{
uchar aa;
DispPortInit();
//EEPROM区 变量定义法访问
__attribute__((section(".eeprom"))) uchar eeprom_val ; //定义EEPROM变量
eeprom_busy_wait(); //等待EEPROM读写就绪
aa=eeprom_read_byte(eeprom_val); //读取EEPROM 0地址的内容到aa中
eeprom_busy_wait(); //等待EEPROM读写就绪
//PORTB=~aa;
aa++;
eeprom_busy_wait(); //等待EEPROM读写就绪
eeprom_write_byte(eeprom_val, aa); //把aa值写到EEPROM 0地址处
eeprom_busy_wait(); //等待EEPROM读写就绪
/*
//直接指定EEPROM地址法
eeprom_busy_wait(); //等待EEPROM读写就绪
aa=eeprom_read_byte(0); //读取EEPROM 0地址的内容到aa中
eeprom_busy_wait(); //等待EEPROM读写就绪
//PORTB=~aa;
aa++;
eeprom_busy_wait(); //等待EEPROM读写就绪
eeprom_write_byte(0, aa); //把aa值写到EEPROM 0地址处
eeprom_busy_wait(); //等待EEPROM读写就绪
*/
buff[0]=aa%10;
buff[1]=(aa/10)%10;
buff[2]=aa/100;
while(1)
{
Disp(buff);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -