📄 e2prom.c
字号:
//******************************************************************************
//MCU:ATMEL AVR MEGA16L ,晶振频率:8MHz,频率越高,播放Mp3越流畅
//用到硬件器件: MEGA16L内部的512B EEPROM
//EEPROM用来保存基本的参数,如:
//音量(0)、重低音(1)、当前歌曲(2,3)、遥控模式(4)
//RECS80遥控按键(5-8,9-12,13-16,17-20).
//RC5遥控按键(21-24,25-28,29-32,33-36).
//制作人:平顶山工学院计算机系,郭猛
//******************************************************************************
# include "iom16v.h"
# include "macros.h"
//在E2PROM写入指定长度的数据
//IAddress:起始地址,*Data:要写入的数据首地址,Cnt:要写入的数据个数
//函数无返回值
void E2PROM_Write(unsigned int IAddress,unsigned char *Data,unsigned char Cnt)
{
unsigned char i;
CLI(); //程序进入临界区
for(i=0;i<Cnt;i++)
{
//等待前一次写操作完毕
while(EECR & BIT(EEWE)) ;
EEAR = IAddress + i;
EEDR = Data[i];
EECR|= BIT(EEMWE);
;;;; //等待4个周期
EECR|= BIT(EEWE);
}
SEI(); //程序退出临界区
}
//在E2PROM写入指定长度的数据
//IAddress:起始地址,*Data:要写入的数据首地址,Cnt:要写入的数据个数
//函数返回一个字节
unsigned char E2PROM_Read_OneChar(unsigned int IAddress)
{
CLI(); //程序进入临界区
//等待前一次操作完毕
while(EECR & BIT(EEWE)) ;
EEAR = IAddress;
EECR|= BIT(EERE);
; //等待1个周期
SEI(); //程序退出临界区
return EEDR;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -