標題:
stm32f103 AT24c_xx驅(qū)動程序
[打印本頁]
作者:
w535438616
時間:
2020-2-11 18:45
標題:
stm32f103 AT24c_xx驅(qū)動程序
STM32單片機源程序如下:
#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 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1