arduino UNO开发板的eeprom值怎么清零很多人对这个问题比较感兴趣,下面让我们一起来看arduino吧,希望可以帮助到你。
//试试这个!!!
void setup()
{
// pinMode( 2, INPUT);
pinMode( 2, INPUT_PULLUP); /册孙/使能内部上野世拉电阻
pinMode( 13 , OUTPUT);
}
void loop()
{
// if (digitalRead(2))
if (LOW == digitalRead(2)) //低州脊链电平时是按键按下
{
digitalWrite( 13 , HIGH );
}
else
{
digitalWrite( 13 , LOW );
}
}
/*========================================================
片外16Mhz晶体振荡器,AT24C04 A0,A1,A2接地处理
WP接地处理,器件读地址为0xA0。串口波特率9600,无校验。
mega328 SRAM为2048个字节,
---2016/5/4 小怪
===============================================================*/
#include <avr\隐衡pgmspace.h>
#define AT24C_Add_W 0xA0 //器件读地址,A2,A1=0, 默认选择0~255字节地址
#define AT24C_Add_R 0xA1 //器件写地址,A2,A1=0, 默认选择0~255字节地址
#define SLAW 0x18 //模块正确地址应答常量写 page200
#define DataOKW 0x28 //模块正确数据写应答常量
#define SLAR 0x40 //地址收到ok,page204
#define DataOKR 0x50 //数据收到ok
//数据类型宏定义
typedef unsigned char uint08;
typedef signed char sint08;
typedef unsigned int uint16;
typedef signed int sint16;
//变量定义
//发送数据羡扰缓存区,存入FLASH ,ASCII码形式,不支持中文,注意在字符串尾加0xFF作为结束标记
const PROGMEM uint08 Send_Buff[512]="As food is to the body, so is learning to the mind. Our bodies grow and muscles develop with the intake of adequate nutritious food. Likewise, we should keep learning day by day to maintain our keen mental power and expand our intellectual capacity. Constant learning supplies us with inexhaustible fuel for driving us to sharpen our power of reasoning, analysis, and judgment. Learning incessantly is the surest way to keep pace with the times in the information age\xFF";
uint08 Page=0x00; //页选择位,选择0或1,选择0页写0,选择1页写2
uint08 Read_Buff[512]; //数据兄携旦接收缓存区,AT24C04最大空间256字节
//------------------------------------------------------------------------
//AT24时钟频率1Mhz,设置单片机比特率
//SCL frequency=cpu clock/(16+2(TWBR)*(prescalerValue))
void Init_TWI(void)
{ TWCR = 0x00; //中止IIC
//PRR = 0x00; //复位功耗抑制寄存器,TWI唤醒
TWBR = 24; //比特率寄存器为24,产生9615波特率
TWSR|= 0x02; //比特率预分频因子16,page194
//TWAR=0xFF; //工作于主机模式不需要此地址
TWCR = (1<<TWEN); //TWI使能,TWINF写1清零
}
//------------------------------------------------------------------------
//启动I2C
void TWIStart(void) //page198
{ TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); //TWI start,主机模式,page149
while(!(TWCR&(1<<TWINT))) ; //等待TWINF置位以及收到应答信号
}
//-------------------------------------------------------------------------------
//主机发送一个字节
void TWI_Write(uint08 str)
{ TWDR = str; //将字符写入数据寄存器
TWCR = (1<<TWINT)|(1<<TWEN); //启动发送地址及数据,page198
while(!(TWCR&(1<<TWINT))); //等待TWINF置位,SLA+W或data已发出
}
//-------------------------------------------------------------------------------
//总线读出一个字符返回读出的字符
uint08 TWI_READ(void)
{ TWCR = (1<<TWINT)|(1<<TWEA)|(1<<TWEN);
while(!(TWCR&(1<<TWINT)));
return(TWDR); //返回读出的数据
}
//I2C应答函数-------------------------------------------------------------------
uint08 TWI_ACK(void)
{ _NOP(); //延时1个指令周期
return (TWSR&0xF8); //返回TWI状态,高5位
}
//--------------------------------------------------------------------------------
//I2C 停止
void TWI_Stop(void)
{
TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); //page198
}
//---------------------------------------------------------------------------------
//向I2C slave写入数据,第一个参数是页选择为0和1。第二个是字节地址0xFF,第三个参数为字节数据
void AT24_TWI_Write(uint08 Page,uint08 ByteAdd,uint08 Str)
{ TWIStart(); //开启发送
TWI_Write(Page|AT24C_Add_W); //发送从机地址
if(TWI_ACK()==SLAW) //应答
TWI_Write(ByteAdd); //发送字节地址
if(TWI_ACK()==DataOKW) //应答
TWI_Write(Str); //发送数据
TWI_ACK(); //写入数据应答
TWI_Stop(); //发送停止信号
delay(1); //延时1ms,完成写入
}
//--------------------------------------------------------------------------------
//从I2C读取数据参数1为变量地址,参数2为页选择,参数3为字节地址,参数4为读取数量
//读取模式为随机读
uint08 AT24_TWI_Read(uint08 Page,uint08 ByteAdd)
{ uint08 i,u08temp;
TWIStart(); //发送起始信号
TWI_Write(Page|AT24C_Add_W); //写入地址及页选择位
if(TWI_ACK()==SLAW) //地址发送应答
TWI_Write(ByteAdd); //写入字节地址
if(TWI_ACK()==DataOKW) //发送页码和字节地址
TWIStart(); //再一次开始
TWI_Write(Page|AT24C_Add_R); //写入读地址及页选择位
if(TWI_ACK()==SLAR) //读应答,返回值有误
TWI_ACK();
u08temp=TWI_READ(); //从总线读一个字节存入中间量
TWI_ACK(); //应答
TWI_Stop(); //发送停止信号
return u08temp; //返回读取的数据
}
//写入数据函数------------------------------------------------------------------
void WriteAT24(const uint08 ch[])
{ uint16 u16add=0;
uint08 ByteAdd; //字节起始地址
uint08 u08temp;
Page=0;
for(ByteAdd=0;;u16add++,ByteAdd++)
{
u08temp=pgm_read_byte_near(ch+u16add);
if(u08temp==0xff) return;
if(ByteAdd<0xff) //如果长度小于255则写入第一页
AT24_TWI_Write(Page,ByteAdd,u08temp); //向AT24C04写入数据
else
{
AT24_TWI_Write(Page,ByteAdd,u08temp); //向AT24C04写入数据
if(!Page)Page=0x02; //换页
else return;
ByteAdd=0;
}
}
}
//读入数据函数------------------------------------------------------------------
void ReadAt24( uint08 ch[])
{uint08 u08tempt;
uint16 u16add;
uint08 ByteAdd=0; //字节起始地址
Page=0;
for(u16add=0;;u16add++,ByteAdd++)
{
u08tempt=AT24_TWI_Read(Page,ByteAdd); //读一个字节
if(u08tempt==0xff) break; //返回字符为0xff提前结束
if(ByteAdd<0xff) ch[u16add]=u08tempt;
else
{ ch[u16add]=u08tempt;
if(!Page) Page=2;
else return;
ByteAdd=0;
}
}
}
//======================================================================
void WDT_OFF(void)
{WDTCSR|=0x80;
MCUSR&=~(1<<WDRF);
WDTCSR |= (1<<WDCE) | (1<<WDE);
WDTCSR = 0x00;
}
//======================================================================
void setup(void )
{
cli(); //清中断
Init_TWI(); //初始化设备
WDT_OFF(); //关闭看门狗
Serial.begin(9600);
sei(); //中断使能
WriteAT24(Send_Buff); //写数据
}
//主函数------------------------------------------------------------------------
void loop(void)
{
// WDTCSR|=0x80;
ReadAt24(Read_Buff);
//Serial.println("have read data:");
Serial.println((char*)Read_Buff); //串口发送读到的数据
delay(1000); //延时1s
}
1k。
根据官方说明,各版本银桥的Arduino都自带一个小容量的EEPROM,在各型号的arduino控制器上的AVR芯片均带有EEPROM,也有外接的EEPROM芯片,常见arduino控制器则裂的EEPROM大小:
ArduinoUNO、Arduinoduemilanove-m328、Zduinom328均锋盯猛使用ATmega328芯片,EEPROM都为1。
1.首先穗迹手上肯定要有一块UNO开发板,然后下载Arduino开发环境IDE,进入http://arduino.cc/en/Main/Software 以windows为例,下没吵载Arduino 1.0 (release notes): Windows, 如果不是windows平台,请选择相应枯族侍的IDE下载。
arduinonano型号板可以随意修改。开发板菜弯滚单中设置。,
点击Tools->芹做Board->选择Arduino开发板型号(工具->开发嫌闹衡板)例如ArduinoUno,这里只需要配置一次,之后操作都会默认使用该型号。
只要给开发板正确供电,开发板上的黄色指示灯依然能够以1秒为间隔不断地亮、灭。程序已经上载到开发板的内部Flash里面,可以脱离开发环境在开发板上实际运行了。
OPPO Reno5 Pro手机也太好看了真的满足了所有女生的少女心,外观是星钻外壳七色渐变,星河入梦这个颜色真的是超级梦幻的颜色,星钻的外观bilingbiling的,拿在手里就感觉在放光,真的配得上星河入梦这个名字,满满的高级感浪漫感没
2024-01-25星光电脑为您整理了帆布袋哪个牌子好,他们分别是森马/Semir、卡帝乐鳄鱼/CARTELO、回力/Warrior、高尔夫/GOLF、不莱玫/BROMEN、坎戈尔袋鼠/KANGOL、凯浦林/Kipling、波斯丹顿、landcase、OMTO,下面来看下帆布袋十大品牌排行榜吧。
2024-01-25魔美代这款代餐奶昔一共有三个系列,果蔬系列,蛋白系列,谷物系列,本人个人最喜欢果蔬系列,蓝莓味,草莓味,菠萝味全都特别好喝。三种浓度设计,根据自己的口味调试。可不要小看这一小瓶魔美代餐奶昔咯,营养可是足的很,牛初乳+鱼胶原蛋白+动植物蛋白+
2024-01-25星光电脑为您整理了邮差包哪个牌子好,他们分别是稻草人/MEXICAN、墨一、俞兆林、蔻驰/COACH、暇步士/Hush Puppies、七匹狼/SEPTWOLVES、高尔夫/GOLF、金利来/Goldlion、轻骑者、圣大保罗/Polo,下面来看下邮差包十大品牌排行榜吧。
2024-01-25茉小朵一次性洗脸巾本人很喜欢它的卷筒设计,挂起来使用很方便,并且是纯棉的才这样亲肤,像是棉花般的触感。并且每一张都是加厚设计,一面珍珠纹一面平纹怎么使用都超级方便。这款擦脸巾是厚款的洗脸巾吸水很可。洗完脸擦桌子什么的,废物利用还环保。这款轻
2024-01-25星光电脑为您整理了钥匙包哪个牌子好,他们分别是琦格尔/QIGER、暇步士/Hush Puppies、迪加伦、七匹狼/SEPTWOLVES、马莎兰缇/MashaLanti、禾沐舟、金利来/Goldlion、沃霆、欧凡卡蒂/OUFANKADI、象大侠,下面来看下钥匙包十大品牌排行榜吧。
2024-01-25chismine的中文名是中莉,中莉是中国的品牌。源于1925年,以福州何同泰字号为代表的茶行发展而来,专业从事茶业种植/加工/销售的企业福建省福州茶厂源于1925年以福州“何同泰”字号为代表的百余家...。chismine的中文名是中莉,
2024-01-25星光电脑为您整理了小学生书包哪个牌子好,他们分别是稻草人/MEXICAN、viney、第九城、卡拉羊/KALA·Y、Edison、回力箱包、波斯丹顿、landcase、轻骑者、帆特西,下面来看下小学生书包十大品牌排行榜吧。
2024-01-25小帅才上海小帅才食品漯河有限公司位于中国食品名城——漯河市郾城区孟南工业区,是一家专业从事食品生产与销售的企业。公司创办于1993年,是中原地区...。小帅才是中国品牌。小帅才上海小帅才食品漯河有限公司位于中国食品名城——漯河市郾城区孟南工
2024-01-25星光电脑为您整理了登机箱哪个牌子好,他们分别是新秀丽/SAMSONITE、美旅/AMERICAN TOURISTER、爱华仕/OIWAS、外交官/Diplomat、90分、途明/TUMI、ITO、翻译官/fanyiguan、地平线8号、SOO,下面来看下登机箱十大品牌排行榜吧。
2024-01-25豪伦思苏格兰早餐红茶它是采用独立袋泡茶包,比较卫生安全,而且携带也方便,随便装几包去办公室,想喝的时候随时可以喝。并且冲泡起来也非常容易,放入茶包倒入开水,不用两三分钟,就能冲泡出味。整杯红茶的香味是比较浓郁的,口感比较清爽,而且蔗糖添加。
2024-01-25星光电脑为您整理了旅行包哪个牌子好,他们分别是七匹狼/SEPTWOLVES、易旅/ETRAVEL、爱华仕/OIWAS、高尔夫/GOLF、新秀丽/SAMSONITE、威戈/WENGER、迪卡侬/Decathlon、卡拉羊/KALA·Y、landcase、回力箱包,下面来看下旅行包十大品牌排行榜吧。
2024-01-25