I2c.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*********************************************************************************************************
  2. * 模块名称: I2C.h
  3. * 摘 要: I2C驱动
  4. * 当前版本: 1.0.0
  5. * 作 者:Leyutek(COPYRIGHT 2018 - 2021 Leyutek. All rights reserved.)
  6. * 完成日期: 2021年07月01日
  7. * 内 容:
  8. * 注 意: none
  9. **********************************************************************************************************
  10. * 取代版本:
  11. * 作 者:
  12. * 完成日期:
  13. * 修改内容:
  14. * 修改文件:
  15. *********************************************************************************************************/
  16. #ifndef _I2C_H_
  17. #define _I2C_H_
  18. /*********************************************************************************************************
  19. * 包含头文件
  20. *********************************************************************************************************/
  21. #include "gd32e230x_conf.h"
  22. /*********************************************************************************************************
  23. * 宏定义
  24. *********************************************************************************************************/
  25. #define ACK 1 //读取一字节数据后,发送ACK
  26. #define NACK 0 //读取一字节数据后,发送NACK
  27. /*********************************************************************************************************
  28. * 结构体定义
  29. *********************************************************************************************************/
  30. /*********************************************************************************************************
  31. * API函数声明
  32. *********************************************************************************************************/
  33. void InitI2C(void); //初始化IIC,主要是GPIO的初始化
  34. void GenI2CStartSig(void); //产生IIC起始时序
  35. void GenI2CStopSig(void); //产生IIC停止时序
  36. void I2CSendByte(unsigned char txd); //IIC发送一字节数据
  37. unsigned char I2CReadByte(unsigned char ack); //IIC读取一字节数据
  38. unsigned char I2CWaitAck(void); //IIC等待ACK信号
  39. void SendI2CAck(void); //IIC发送ACK信号
  40. void SendI2CNAck(void); //IIC不发送ACK信号
  41. #endif