STM32单片机源程序如下:
- #include <sys.h>
- #include <at24c_xx.h>
- #include <delay.h>
- #include <I2c.h>
- #if EN_AT24C_xx
- #define AT24C_xx_ADDR 0xA0 //写设备地址
- #define AT24C_xx_WRITE 0xA1 //读设备地址
- ////向AT24C_xx指定的地址写入一个字节
- //REG_ADD写入的地址
- //dat 要写入的数据
- void AT24C_xx_Write_Byte(unsigned char REG_ADD, unsigned char dat)
- {
- IIC_Start();
- IIC_Send_Byte(AT24C_xx_ADDR);//发送写命令并检查应答位
- IIC_Wait_Ack();
- IIC_Send_Byte(REG_ADD);
- IIC_Wait_Ack();
- IIC_Send_Byte(dat); //发送数据
- IIC_Wait_Ack();
- IIC_Stop();
- delay_ms(5);
- }
- //读取地数据
- // reg——add 要读取的寄存器
- unsigned char AT24C_xx_Read_Byte(unsigned char REG_ADD)
- {
- u8 ReData;
- IIC_Start();
- IIC_Send_Byte(AT24C_xx_ADDR);//发送写命令并检查应答位
- IIC_Wait_Ack();
- IIC_Send_Byte(REG_ADD); //确定要操作的寄存器
- IIC_Wait_Ack();
- IIC_Start(); //启动总线
- IIC_Send_Byte(AT24C_xx_WRITE); //发送读取命令
- IIC_Wait_Ack();
- ReData = IIC_Read_Byte(0); //读取数据,加发送非应答
- IIC_Stop();
- return ReData;
- }
- #endif
复制代码
所有资料51hei提供下载:
AT24c_xx.rar
(838 Bytes, 下载次数: 37)
|