据此我们设计AT24Cxx系列EEPROM存储器对象的初始化函数如下: 1/* 初始化AT24CXX对象 */2voidAt24cxxInitialization(At24cObjectType *at,//AT24CXX对象实体3uint8_t devAddress,//AT24CXX设备地址4At24cModeType mode,//AT24CXX对象类型5At24cMemAddLengthType
IIC_Wait_Ack(); temp=IIC_Read_Byte(0); IIC_Stop(); return temp; 需要重点理解处通过对于EE_TYPE宏定义的判断,也就是对于型号的选择,来实现了对于不同型号的驱动。 同理,往指定地址写入一个数据的函数如下: void AT24CXX_WriteOneByte(u16 WriteAddr,u8 DataToWrite) { IIC_Start(); if(EE_TYPE>...
1 /* 定义读数据操作函数指针类型 */ 2 typedef void (*At24cRead)(struct At24cObject *at,uint16_t regAddress,uint8_t *rData,uint16_t rSize); 3 4 /* 定义写数据操作函数指针类型 */ 5 typedef void (*At24cWrite)(struct At24cObject *at,uint16_t regAddress,uint8_t *wData,uint16...
1/*定义读数据操作函数指针类型*/2typedefvoid(*At24cRead)(structAt24cObject *at,uint16_t regAddress,uint8_t *rData,uint16_t rSize);34/*定义写数据操作函数指针类型*/5typedefvoid(*At24cWrite)(structAt24cObject *at,uint16_t regAddress,uint8_t *wData,uint16_t wSize);67/*定义延时操作...
//tempdata=AT24Cxx_ReadTwoByte(0); // printf("两个字节 dt=%x\n",tempdata); while(1); } /*** 函数: void RCC_Configuration(void) 功能: 复位和时钟控制 配置 参数: 无 返回: 无 ***/ void RCC_Configuration(void) { ErrorStatus
at24cxx.c源文件主要是类模板具体操作函数的实现,具体如下: 登录后复制//在AT24CXX指定地址读出一个数据//ReadAddr:开始读数的地址//返回值 :读到的数据staticuint8_tAT24CXX_ReadOneByte_t(conststruct AT24CXX_Type* AT24CXX_Type_t,uint16_tReadAddr){uint8_ttemp=0; ...
随机读取函数 // 随机读取无需分页处理HAL_StatusTypeDefCAT24CXX_RandomRead(uint8_tdevAddr,uint16_tmemAddr,uint8_t*data,uint16_tlen){returnHAL_I2C_Mem_Read(&hi2c1, devAddr, memAddr, I2C_MEMADD_SIZE_16BIT, data, len,100); } AI代码助手复制代码 ...
_CHECK_VALUE0X52u8At24cxxReadOneByte(u16ReadAddr);//指定地址读取一个字节voidAt24cxxWriteOneByte(u16WriteAddr,u8DataToWrite);//指定地址写入一个字节voidAt24cxxWriteLenByte(u16WriteAddr,u32DataToWrite,u8Len);//指定地址开始写入指定长度的数据u32At24cxxReadLenByte(u16ReadAddr,u8Len);//指定...
//在AT24CXX 指定地址读出一个数据 //ReadAddr:开始读数的地址 //返回值 :读到的数据 u8 AT24CXX_ReadOneByte(u16 ReadAddr) { u8 temp=0; IIC_Start(); //启动信号 if(EE_TYPEAT24C16) { IIC_Send_Byte(0XA0); //发送写命令 IIC_Wait_Ack(); IIC_Send_Byte(ReadAddr8); //发送高地址 ...
temp=AT24CXX_ReadOneByte(255);if(temp==0X55)return 0;} return 1;} 1、这个检查函数是一定要...