iic.h
上传用户:wealth48
上传日期:2022-06-24
资源大小:1701k
文件大小:2k
源码类别:

uCOS

开发平台:

C/C++

  1. /***************************************************************************
  2. Copyright (c) 2004-2007 threewater@up-tech.com, All rights reserved.
  3. by threewter 2005.2.26
  4. ***************************************************************************/
  5. /***************************************************************************
  6.     #说明: iic接口驱动程序头文件
  7. ----------------------------------  Bug  --------------------------------------
  8. ----------------------------------  TODO list  --------------------------------------
  9. ----------------------------------修正--------------------------------------
  10. 2005-2-26 创建
  11. ***************************************************************************/
  12. #ifndef __ASM_ARCH_IIC_H__
  13. #define __ASM_ARCH_IIC_H__
  14. #define IICCON_ACKEN (1<<7) //IIC-bus acknowledge enable bit.
  15. #define IICCON_CLK512 (1<<6) // 1 = IICCLK = fPCLK /512
  16. #define IICCON_INTR (1<<5) // IIC-Bus Tx/Rx interrupt enable/disable bit.
  17. #define IICCON_INTPEND (1<<4) // IIC-bus Tx/Rx interrupt pending flag.
  18. #define IICCON_CLKPRE(x) FInsrt((x), Fld(4, 0))
  19. #define IICSTAT_MODE_SR (0<<6) //Slave receive mode
  20. #define IICSTAT_MODE_ST (1<<6) //Slave transmit mode
  21. #define IICSTAT_MODE_MR (2<<6) //Master receive mode
  22. #define IICSTAT_MODE_MT (3<<6) //Master transmit mode
  23. #define IICSTAT_MODE_MSK (3<<6)
  24. #define IICSTAT_BUSY (1<<5) //IIC-Bus busy signal status bit.(read)
  25. #define IICSTAT_START (1<<5) //START signal generation.(write)
  26. #define IICSTAT_OUTEN (1<<4) //IIC-bus data output enable
  27. #define IICSTAT_ARBFAILED (1<<3) //Bus arbitration failed during serial I/O
  28. #define IICSTAT_SLAVEADDR (1<<2) //IIC slave address match
  29. #define IICSTAT_ACK (1)
  30. void Set_IIC_mode(int nIICCON, int *poldIICCON);
  31. void IIC_init(void);
  32. void IIC_MasterTxStart(char data);
  33. void IIC_MasterTx(char data);
  34. char IIC_MasterRx(int isACK);
  35. void IIC_MasterRxStart(char address);
  36. void IIC_MasterTxStop(void);
  37. void IIC_MasterRxStop(void);
  38. unsigned char IIC_Read(char devaddr, char address);
  39. void IIC_Write(char devaddr, char address, unsigned char data);
  40. void IIC_ReadSerial(char devaddr, char address, unsigned char* pdata, int n);
  41. void IIC_WriteSerial(char devaddr, char address, unsigned char* pdata, int n);
  42. void IIC_Send(char devaddr, const char* pdata, int n);
  43. #endif