- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
I2C.h
资源名称:SDK_M5661.rar [点击查看]
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:4k
源码类别:
压缩解压
开发平台:
C++ Builder
- /*==========================================================================
- Copyright (c) 2004 ALi Corporation. All Rights Reserved
- Target : FM
- Applying Source File : FmM5181.c, FmTEA5767.c
- content:
- History:
- Created by David Chiu 2004/4/27
- Created by Dennis Shih 2006/01/16
- ==========================================================================*/
- #if(FM_MODULE==2)
- #define i2c_large_test large //matt test for save code
- #ifndef I2C_H
- #define I2C_H
- #ifdef I2C_GLOBALS
- #define I2C_EXT
- #else
- #define I2C_EXT extern
- #endif
- #define I2C_FEEDDOG 0
- #define I2C_LCD 1
- #define I2C_FM 2
- #define I2C_LCD_WR_CMD 0x70
- #define I2C_LCD_WR_DATA 0x72
- #define I2C_LCD_RD_CMD 0x71
- #define I2C_LCD_RD_DATA 0x73
- //#define I2C_FM_WR_CMD 0x70
- #define I2C_FM_WR_DATA 0x20
- //#define I2C_FM_RD_CMD 0x71
- #define I2C_FM_RD_DATA 0x21
- #define I2C_LCD_SCL_DAT obGPIOCDAT
- #define I2C_LCD_SCL_DIR obGPIOCDIR
- #define I2C_LCD_SCL_BIT 5
- #define I2C_LCD_SDA_DAT obGPIOCDAT
- #define I2C_LCD_SDA_DIR obGPIOCDIR
- #define I2C_LCD_SDA_BIT 6
- #define I2C_FM_SCL_DAT obGPIOHDAT
- #define I2C_FM_SCL_DIR obGPIOHDIR
- #define I2C_FM_SCL_BIT 5
- #define I2C_FM_SDA_DAT obGPIOHDAT
- #define I2C_FM_SDA_DIR obGPIOHDIR
- #define I2C_FM_SDA_BIT 6
- #define I2C_LCD_SCL_1()
- {
- I2C_LCD_SCL_DAT |= (1<<I2C_LCD_SCL_BIT);
- }
- #define I2C_FM_SCL_1()
- {
- I2C_FM_SCL_DAT |= (1<<I2C_FM_SCL_BIT);
- }
- #define I2C_LCD_SCL_0()
- {
- I2C_LCD_SCL_DAT &= ~(1<<I2C_LCD_SCL_BIT);
- }
- #define I2C_FM_SCL_0()
- {
- I2C_FM_SCL_DAT &= ~(1<<I2C_FM_SCL_BIT);
- }
- #define I2C_LCD_SDA_1()
- {
- I2C_LCD_SDA_DAT |= (1<<I2C_LCD_SDA_BIT);
- }
- #define I2C_FM_SDA_1()
- {
- I2C_FM_SDA_DAT |= (1<<I2C_FM_SDA_BIT);
- }
- #define I2C_LCD_SDA_0()
- {
- I2C_LCD_SDA_DAT &= ~(1<<I2C_LCD_SDA_BIT);
- }
- #define I2C_FM_SDA_0()
- {
- I2C_FM_SDA_DAT &= ~(1<<I2C_FM_SDA_BIT);
- }
- #define I2C_LCD_SCL_IN()
- {
- I2C_LCD_SCL_DIR &= ~(1<<I2C_LCD_SCL_BIT);
- }
- #define I2C_FM_SCL_IN()
- {
- I2C_FM_SCL_DIR &= ~(1<<I2C_FM_SCL_BIT);
- }
- #define I2C_LCD_SCL_OUT()
- {
- I2C_LCD_SCL_DIR |= (1<<I2C_LCD_SCL_BIT);
- }
- #define I2C_FM_SCL_OUT()
- {
- I2C_FM_SCL_DIR |= (1<<I2C_FM_SCL_BIT);
- }
- #define I2C_LCD_SDA_IN()
- {
- I2C_LCD_SDA_DIR &= ~(1<<I2C_LCD_SDA_BIT);
- }
- #define I2C_FM_SDA_IN()
- {
- I2C_FM_SDA_DIR &= ~(1<<I2C_FM_SDA_BIT);
- }
- #define I2C_LCD_SDA_OUT()
- {
- I2C_LCD_SDA_DIR |= (1<<I2C_LCD_SDA_BIT);
- }
- #define I2C_FM_SDA_OUT()
- {
- I2C_FM_SDA_DIR |= (1<<I2C_FM_SDA_BIT);
- }
- #define I2C_LCD_SDA_RD
- (
- I2C_LCD_SDA_DAT & (1<<I2C_LCD_SDA_BIT)
- )
- #define I2C_FM_SDA_RD
- (
- I2C_FM_SDA_DAT & (1<<I2C_FM_SDA_BIT)
- )
- I2C_EXT void init_i2c(BYTE device) i2c_large_test;
- I2C_EXT BYTE i2c_wr(BYTE device, BYTE sla_addr, BYTE length, BYTE * buff) i2c_large_test;
- I2C_EXT BYTE i2c_rd(BYTE device, BYTE sla_addr, BYTE length, BYTE * buff) i2c_large_test;
- I2C_EXT BYTE i2c_rd1(BYTE device, BYTE sla_addr, BYTE length, BYTE * buff) i2c_large_test;
- I2C_EXT void i2c_clock (BYTE device) i2c_large_test;
- #endif
- #if (_PEDOMETER_Mode_)
- #define EXTERN extern
- EXTERN void I2cInit(void);
- EXTERN bit I2cWaitBusy(void);
- #undef EXTERN
- #endif
- #else//#if(FM_MODULE==2)
- #ifdef _I2C_H_
- #define EXTERN
- #else
- #define EXTERN extern
- #endif
- //These functions will be applied at "FmM5181.c" or "FmTEA5767.c" function.
- #if (_PEDOMETER_Mode_|_PM_FM_)
- EXTERN void I2cInit(void);
- EXTERN bit I2cWaitBusy(void);
- #endif
- #undef EXTERN
- #endif//#if(FM_MODULE==2)