myiic.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef __MYIIC_H
  2. #define __MYIIC_H
  3. #include "iot_gpio.h"
  4. #include "iot_gpio_ex.h"
  5. //////////////////////////////////////////////////////////////////////////////////
  6. //������ֻ��ѧϰʹ�ã�δ���������ɣ��������������κ���;
  7. //ALIENTEKս��STM32������
  8. //IIC���� ����
  9. //����ԭ��@ALIENTEK
  10. //������̳:www.openedv.com
  11. //�޸�����:2012/9/9
  12. //�汾��V1.0
  13. //��Ȩ���У�����ؾ���
  14. //Copyright(C) �������������ӿƼ����޹�˾ 2009-2019
  15. //All rights reserved
  16. //////////////////////////////////////////////////////////////////////////////////
  17. //IO��������
  18. #define SDA_IN() IoTGpioSetDir(10, IOT_GPIO_DIR_IN); // ����GPIO_14Ϊ���ģʽ
  19. #define SDA_OUT() IoTGpioSetDir(10, IOT_GPIO_DIR_OUT); // ����GPIO_14Ϊ���ģʽ
  20. //IO��������
  21. #define SCL_H() IoTGpioSetOutputVal(9, 1);
  22. #define SCL_L() IoTGpioSetOutputVal(9, 0);
  23. #define SDA_H() IoTGpioSetOutputVal(10, 1);
  24. #define SDA_L() IoTGpioSetOutputVal(10, 0);
  25. //IIC���������
  26. void IIC_Init(void); //��ʼ��IIC��IO��
  27. void IIC_Start(void); //����IIC��ʼ�ź�
  28. void IIC_Stop(void); //����IICֹͣ�ź�
  29. void IIC_Send_Byte(u8 txd); //IIC����һ���ֽ�
  30. u8 IIC_Read_Byte(unsigned char ack);//IIC��ȡһ���ֽ�
  31. u8 IIC_Wait_Ack(void); //IIC�ȴ�ACK�ź�
  32. void IIC_Ack(void); //IIC����ACK�ź�
  33. void IIC_NAck(void); //IIC������ACK�ź�
  34. void IIC_Write_One_Byte(u8 daddr,u8 addr,u8 data);
  35. u8 IIC_Read_One_Byte(u8 daddr,u8 addr);
  36. #endif