?? iic.h
字號:
/******************************************************************************
* files name IIC.h
*說明:基于430端口的模擬IIC時序頭文件
******************************************************************************/
#ifndef __I2C_H__
#define __I2C_H__
/******************************************************************************
* 定義管腳
* P3.1 ---------------SDA
* P3.3 ---------------SCL
******************************************************************************/
#define SCL BIT3
#define SDA BIT1
/***********************************************************************
** 函數名稱: I2C_Set_sck_high
** 功能描述: 時鐘線置1
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無
***********************************************************************/
extern void I2C_Set_sck_high(void);
/***********************************************************************
** 函數名稱: I2C_Set_sck_low
** 功能描述: 時鐘線置0
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無
***********************************************************************/
extern void I2C_Set_sck_low(void);
/***********************************************************************
** 函數名稱: I2C_Set_sda_high
** 功能描述: 數據線置1
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無
***********************************************************************/
extern void I2C_Set_sda_high(void);
/***********************************************************************
** 函數名稱: I2C_Set_sda_low
** 功能描述: 數據線置0
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: 無
***********************************************************************/
extern void I2C_Set_sda_low(void);
/***********************************************************************
** 函數名稱: I2C_Initial
** 功能描述: I2C端口初始化,及時鐘線,數據線初始化
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: I2C_Set_sda_high I2C_Set_sck_high
***********************************************************************/
extern void I2C_Initial(void);
/***********************************************************************
** 函數名稱: I2C_GetAck
** 功能描述: 主機讀取ACK信號的函數
** 輸 入: i : 無
** 輸 出: unsigned char 輸出1 讀到ACK值 輸出0 未讀到ACK值
** 全局變量: 無
** 調用模塊: I2C_Set_sda_high I2C_Set_sck_high
** I2C_Set_sda_low I2C_Set_sck_low
***********************************************************************/
extern unsigned char I2C_GetAck(void);
/***********************************************************************
** 函數名稱: I2C_SetAck
** 功能描述: 主機發送ACK信號的函數
** 輸 入: unsigned char ack :1 設置ACK 0 設置NACK
** 輸 出: 無
** 全局變量: 無
** 調用模塊: I2C_Set_sda_high I2C_Set_sck_high
** I2C_Set_sda_low I2C_Set_sck_low
***********************************************************************/
extern void I2C_SetAck(unsigned char ack);
/***********************************************************************
** 函數名稱: I2C_Start
** 功能描述: 主機發送START信號
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: I2C_Set_sda_high I2C_Set_sck_high
** I2C_Set_sda_low I2C_Set_sck_low
***********************************************************************/
extern void I2C_Start(void);
/***********************************************************************
** 函數名稱: I2C_Stop
** 功能描述: 主機發送STOP信號
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調用模塊: I2C_Set_sda_high I2C_Set_sck_high
** I2C_Set_sda_low I2C_Set_sck_low
***********************************************************************/
extern void I2C_Stop(void);
/***********************************************************************
** 函數名稱: I2C_TxhTol
** 功能描述: 主機發送一字節數據 MSB FIRST
** 輸 入: unsigned char nValue 發送的數據
** 輸 出: 無
** 全局變量: 無
** 調用模塊: I2C_Set_sda_high I2C_Set_sck_high
** I2C_Set_sda_low I2C_Set_sck_low
***********************************************************************/
extern void I2C_TxhTol(unsigned char nValue);
/***********************************************************************
** 函數名稱: I2C_RxByte
** 功能描述: 主機讀取一字節數據
** 輸 入: 無
** 輸 出: unsigned char 返回讀回的數據
** 全局變量: 無
** 調用模塊: I2C_Set_sda_high I2C_Set_sck_high
** I2C_Set_sda_low I2C_Set_sck_low
***********************************************************************/
extern unsigned char I2C_RxByte(void);
/***********************************************************************
** 函數名稱: TWI_write
** 功能描述: 主機向從機地址為 WSLA 寄存器地址為 addr 的寄存器發送
** len 字節數據 數據頭指針為*buf
** 輸 入: WSLA 從機讀地址 addr 從機寄存器地址
** *buf 指向發送數據的指針 len 字節數
** 輸 出: 無
** 全局變量: 無
** 調用模塊: I2C_GetAck I2C_SetAck I2C_Start I2C_Stop I2C_TxhTol
***********************************************************************/
extern void TWI_write(unsigned char WSLA,unsigned char addr,
unsigned char *buf,unsigned char len);
/***********************************************************************
** 函數名稱: TWI_read
** 功能描述: 主機從從機地址為 WSLA 寄存器地址為 addr 的寄存器讀取
** len 字節數據 讀取的數據存入指針為*buf的地址
** 輸 入: WSLA 從機讀地址 addr 從機寄存器地址
** *buf 指向存放讀取數據地址的指針 len 字節數
** 輸 出: 無
** 全局變量: 無
** 調用模塊: I2C_GetAck I2C_SetAck I2C_Start I2C_Stop I2C_TxhTol
** I2C_RxByte
***********************************************************************/
extern void TWI_read(unsigned char WSLA,unsigned char addr,unsigned char *buf,
unsigned char len);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -