|
STM32單片機(jī)源程序如下:
- #include <sys.h>
- #include <at24c_xx.h>
- #include <delay.h>
- #include <I2c.h>
- #if EN_AT24C_xx
- #define AT24C_xx_ADDR 0xA0 //寫設(shè)備地址
- #define AT24C_xx_WRITE 0xA1 //讀設(shè)備地址
- ////向AT24C_xx指定的地址寫入一個字節(jié)
- //REG_ADD寫入的地址
- //dat 要寫入的數(shù)據(jù)
- void AT24C_xx_Write_Byte(unsigned char REG_ADD, unsigned char dat)
- {
- IIC_Start();
- IIC_Send_Byte(AT24C_xx_ADDR);//發(fā)送寫命令并檢查應(yīng)答位
- IIC_Wait_Ack();
- IIC_Send_Byte(REG_ADD);
- IIC_Wait_Ack();
- IIC_Send_Byte(dat); //發(fā)送數(shù)據(jù)
- IIC_Wait_Ack();
- IIC_Stop();
- delay_ms(5);
- }
- //讀取地數(shù)據(jù)
- // reg——add 要讀取的寄存器
- unsigned char AT24C_xx_Read_Byte(unsigned char REG_ADD)
- {
- u8 ReData;
- IIC_Start();
- IIC_Send_Byte(AT24C_xx_ADDR);//發(fā)送寫命令并檢查應(yīng)答位
- IIC_Wait_Ack();
- IIC_Send_Byte(REG_ADD); //確定要操作的寄存器
- IIC_Wait_Ack();
- IIC_Start(); //啟動總線
- IIC_Send_Byte(AT24C_xx_WRITE); //發(fā)送讀取命令
- IIC_Wait_Ack();
- ReData = IIC_Read_Byte(0); //讀取數(shù)據(jù),加發(fā)送非應(yīng)答
- IIC_Stop();
- return ReData;
- }
- #endif
復(fù)制代碼
所有資料51hei提供下載:
AT24c_xx.rar
(838 Bytes, 下載次數(shù): 37)
2020-2-11 18:44 上傳
點擊文件名下載附件
|
評分
-
查看全部評分
|