完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
相关寄存器 :EEDR数据寄存器(用来存储要发送的或者是接受的数据)。地址寄存器EEAR:E2Prom的内部地址。EECR:控制寄存器。位0,读使能位。位1写使能位。位2主写使能位。位3中断就绪。 说明:当数据没写完成时,写使能位始终保持高。当写完成的时候硬件清零。地址0x10,写的数据是0x22. 一般的写步骤:1.等待写完成 2.写入数据 3.写入地址 4.主写使能 5.写使能 读步骤:1.等待写完成 2.写入地址 3.都使能 4.从数据寄存器中就可以读出数据。 ATMAGE16的内部E2PROM能存储512个字节
#include typedef unsigned int uint; void delay(uint time) { while(time--); } void e2prom_write(void) { while(EECR&(1<<1));//等待一次的写操作完成 EEAR=0x10;//E2prom的内部存储地址 EEDR=0x22;//向地址中写入一个数据 EECR|=(1<<2);//主写使能位 EECR|=(1<<1);//使能写,开始向地址中写入数据 while(EECR&(1<<1));//当写完成的时候,自动清0 } void e2prom_read(void) { while(EECR&(1<<1));//等待写操作的完成 EEAR=0x10;//写入读出数据的地址 EECR|=(1<<0);//使能读 } void gpio_init(void) { DDRB=0xff;//设置A口的数据传输方向 PORTB=0xff;//初始化A端口 } void main(void) { uint dat=0; gpio_init();//端口初始化 e2prom_write();//写入数据 delay(100); e2prom_read();//读出数据 dat=EEDR;//读出数据 while(1) { PORTB=dat; } }
|
|
相关推荐
2 个讨论
|
|
好好好值得下载。。。
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
865个成员聚集在这个小组
加入小组AVR Atmega16 Bootloader程序与上位机LabView程序
5193 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7796 浏览 0 评论
3079 浏览 2 评论
3128 浏览 1 评论
10111 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 16:40 , Processed in 0.685070 second(s), Total 68, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号