历史上的今天
今天是:2024年10月28日(星期一)
2019年10月28日 | AVR内部EEPROM读写程序-先写入数据,然后读出来,看是否一致
2019-10-28 来源:51hei
/*本程序是对AVR的内部EEPROM进行的读写操作实验,以测试EEPROM,主要是首先向*/
/*内部EEPROM写入数据,然后读出来,看是否一致,最后证明是正确的,此程序可用*/
/*20110414 天津第四项目部宿舍 王均伟*/
#include #define uchar unsigned char #define uint unsigned int #define set_bit(a,b) a|=(1<#define clr_bit(a,b) a&=~(1<#define get_bit(a,b) a&(1< void write_eeprom (uchar add,uchar date)//写EEPROM { while(get_bit(EECR,1));//检测EEWE是否=0有写操作?如果=1那么等待,如果=0那么证明现在是空闲的可以向下 EEARH=0;//不用 EEARL=add;//地址准备 EEDR=date;//数据准备 clr_bit(EECR,3);//关闭EEPROM中断 SREG=0;//关闭总中断 防止此时突发中断而打断CPU的写EEPROM的操作 set_bit(EECR,2);//开启主写使能位 set_bit(EECR,1);//开启写使能位 ;;;;;//写入片内EEPROM } uchar read_eeprom(uchar add)//读EEPROM { while(get_bit(EECR,1));//检测EEWE是否=0有写操作?如果=1那么等待,如果=0那么证明现在是空闲的可以向下 EEARH=0;//不用 EEARL=add;//地址准备 SREG=0;//关闭总中断 防止此时突发中断而打断CPU的读EEPROM的操作 set_bit(EECR,0);//开启读操作 ;;;;//等待 return (EEDR); } void main ()//主函数 { DDRA=0xff; PORTA=0x00;//端口A初始化 write_eeprom(0x00,0x88);//写入前八位地址0x00;和数据0x33;这里注意了我没用EEARH,只用了EERHL所以只能寻找256个字节 PORTA=read_eeprom(0x00);//括号内饰地址 }
下一篇:AVR单片机的IO端口介绍
史海拾趣
|
不宜学单片机的人容易问:我到底该学什么; ----踏踏实实的学点基本的吧?连单片机都不知道是什么就想去学ARM? c语言不会想搞LINUX?别老是好高骛远. 不宜学单片机的人容易问:谁有xxx源码?--(你给人家多少钱啊?自己的劳动白送你?) 不宜 ...… 查看全部问答> |
|
基于WSN的路灯监控管理系统 摘要:介绍了一个基于无线传感器网络的远程路灯监控管理系统,系统主要由传感器节点、远程控制终端(RTU)和监控中心组成。在单个路灯中嵌入无线传感模块,形成具有采集、收发信息数据,控制各个路灯节点以及自组织等功 ...… 查看全部问答> |
|
现在刚刚接触嵌入式,以前只有工控的经验,哪些书比较好一点?大学的时候研究过windows内核,对于操作系统也比较了解。对于嵌入式的开发环境和流程还不是很了解,希望能尽快入门,以后上来和大家一起讨论问题。… 查看全部问答> |
|
现象:1、我用2410和2440 一个做服务器一个做客户端可以正常通信 2、他们也都可以和PC正常通信 他们不管是做服务器还是客户端,都是可以正常通信 3、以上链接都是通过交叉网线连得 现在的 ...… 查看全部问答> |
|
已经新建立了一个连接,使用RasDial()函数连接到了 输入 at 指令的模块,问题是怎么让程序自动输入at指令 并且自动 按继续按钮连接上网呢?谢谢大家了. at指令是:at+cgdcont=1,\"ip\",\"cmnet\" 和 atdt*99# ,我 ...… 查看全部问答> |
|
6410按键处理,有时候按下键没响应,有时候按下出好几个字符,求助大家! 我把6410的按键驱动映射为我需要的字符了,可是总是响应时有些问题,有时候按下键不能响应,有时候会出好几个字符,这是怎么回事啊,我应该修改哪些地方啊?… 查看全部问答> |




