找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2257|回復(fù): 0
收起左側(cè)

stm32f103 AT24c_xx驅(qū)動程序

[復(fù)制鏈接]
ID:323744 發(fā)表于 2020-2-11 18:45 | 顯示全部樓層 |閱讀模式
STM32單片機(jī)源程序如下:
  1. #include <sys.h>
  2. #include <at24c_xx.h>
  3. #include <delay.h>
  4. #include <I2c.h>

  5. #if EN_AT24C_xx

  6. #define AT24C_xx_ADDR  0xA0   //寫設(shè)備地址
  7. #define AT24C_xx_WRITE 0xA1   //讀設(shè)備地址


  8. ////向AT24C_xx指定的地址寫入一個字節(jié)
  9. //REG_ADD寫入的地址
  10. //dat 要寫入的數(shù)據(jù)
  11. void AT24C_xx_Write_Byte(unsigned char REG_ADD, unsigned char dat)
  12. {       
  13.   IIC_Start();
  14.         IIC_Send_Byte(AT24C_xx_ADDR);//發(fā)送寫命令并檢查應(yīng)答位
  15.   IIC_Wait_Ack();
  16.         IIC_Send_Byte(REG_ADD);
  17.         IIC_Wait_Ack();
  18.         IIC_Send_Byte(dat);        //發(fā)送數(shù)據(jù)
  19.         IIC_Wait_Ack();
  20.         IIC_Stop();
  21.         delay_ms(5);
  22. }
  23. //讀取地數(shù)據(jù)
  24. // reg——add  要讀取的寄存器
  25. unsigned char AT24C_xx_Read_Byte(unsigned char REG_ADD)
  26. {       
  27.         u8 ReData;
  28.         IIC_Start();       
  29.         IIC_Send_Byte(AT24C_xx_ADDR);//發(fā)送寫命令并檢查應(yīng)答位       
  30.   IIC_Wait_Ack();
  31.   IIC_Send_Byte(REG_ADD);        //確定要操作的寄存器
  32.         IIC_Wait_Ack();
  33.         IIC_Start();        //啟動總線
  34.         IIC_Send_Byte(AT24C_xx_WRITE);        //發(fā)送讀取命令
  35.         IIC_Wait_Ack();
  36.         ReData = IIC_Read_Byte(0);                //讀取數(shù)據(jù),加發(fā)送非應(yīng)答
  37.         IIC_Stop();
  38.         return ReData;
  39. }
  40. #endif
復(fù)制代碼

所有資料51hei提供下載:
AT24c_xx.rar (838 Bytes, 下載次數(shù): 37)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表