匿名
未登录
登录
丢石头百科
搜索
查看“AVR AT24C02 程序”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
AVR AT24C02 程序
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<source lang="c"> /********************************************************************* 微 雪 电 子 WaveShare 目 的: 建立AT24C02操作库 目标系统: 基于AVR单片机 应用软件: ICCAVR 版 本: Version 1.0 圆版时间: 2005-06-25 开发人员: SEE 说 明: 若用于商业用途,请保留此段文字或注明代码来源 深 圳 市 微 雪 电 子 有 限 公 司 保 留 所 有 的 版 权 *********************************************************************/ /*01010101010101010101010101010101010101010101010101010101010101010101 ---------------------------------------------------------------------- 版本更新记录: ---------------------------------------------------------------------- 实验内容: 写入一些测试数据进EEPROM,再读出,使用PA口的LED做指示,观测是否与写入一致。 ---------------------------------------------------------------------- 硬件连接: 将PA口的LED指示灯开关切换到"ON"状态。 将AT24CXX的硬件地址A0、A1、A2使用短路帽短接至“-”。 AT24CXX:VCC、GND、SDA、SCL | | | | SMK1632:VCC、GND、SDA、SCL ---------------------------------------------------------------------- 注意事项: (1)若有加载库函数,请将光盘根目录下的“库函数”下的“ICC_H”文件夹拷到D盘 (2)请详细阅读“使用必读”及相关资料。 ----------------------------------------------------------------------10101010101010101010101010101010101010101010101010101010101010101010*/ #include <iom16v.h></iom16v.h> #define RD_DADR 0xA1 //read device-address #define WR_DADR 0xA0 //write device-address #include "D:\ICC_H\AT24CXX.H" #define DISP_DDR DDRA #define DISP_PORT PORTA /*-------------------------------------------------------------------- 函数名称:AT24C02 函数功能: 注意事项: 提示说明: 输 入: 返 回: --------------------------------------------------------------------*/ void errDisp() { DISP_PORT = 0X55; delay50ms(4); DISP_PORT = 0X00; delay50ms(4); DISP_PORT = 0XAA; delay50ms(4); DISP_PORT = 0X00; delay50ms(4); } /*-------------------------------------------------------------------- 函数全称:AT24C02 函数功能: 注意事项: 提示说明:假设系统时钟为16M,则TWI波特率=CLK/(16+2*(TWBR)*4)=400K 输 入: 返 回: --------------------------------------------------------------------*/ void twi_init() //TWI(I2C)初始化 { TWBR = 0X03; //设置TWI波特率 TWSR &= 0XFC; //设置TWI预分频 为 1 } /*-------------------------------------------------------------------- 函数名称:AT24C02 函数功能: 注意事项: 提示说明: 输 入: 返 回: --------------------------------------------------------------------*/ void main(void) { uint8 adr,WrDat,t; uint8 *pRdDat=&t; //随便给"*pRdDat"一个具体地址,以免内存发生错误 DISP_DDR = 0XFF; twi_init(); adr=0x20; WrDat=0x33; if( AT24CXX_Write(adr,WrDat)!=AT24CXX_ERR ) //AT24CXX写成功? { delay50ms(1); //等待EERPOM写完 if( AT24CXX_Read(adr,pRdDat)!=AT24CXX_ERR ) //AT24CXX读成功? DISP_PORT=*pRdDat; else errDisp(); } else errDisp(); while(1); } </source>
返回至
AVR AT24C02 程序
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志