📄 emi2c.h
字号:
/* * emi2c.h * * requires types.h before this */ //#ifndef EM_TYPES//#error em_types.h must be included before emi2c.h//#endif /*---------configuration-----------------*/typedef struct tagEMI2C_CONFIG { RMvoid* pGBus; RMuint32 RegBase; RMuint8 PIO_Clock; RMuint8 PIO_Data; RMuint32 AdditionalDelay; RMuint32 SclHiTimeout; RMuint32 uFlags;} EMI2C_CONFIG;#define DEFAULT_SCL_HI_TIMEOUT 25/* 1 us = 27 loops * Adjusted Delay = (27 loops * DelayMultiplier) / DELAY_DIVIDER *///#define DELAY_DIVIDER 0x10000//#define EMI2C_FLAG_STOPONSTART 0x04/*------------------API-------------------*/RMstatus emi2c_start(EMI2C_CONFIG *pC);RMstatus emi2c_stop(EMI2C_CONFIG *pC);RMstatus emi2c_sendbyte(EMI2C_CONFIG *pC, RMuint8 uData, RMuint8 *pNack);#define EMI2C_SEND_NACK 0x10000#define EMI2C_SEND_NACK_IF_MISMATCH 0x20000#define EMI2C_SEND_NACK_COMPARE_DATA 0x000FFRMstatus emi2c_readbyte(EMI2C_CONFIG *pC, RMuint8* pData, RMuint32 nackConfiguration);/*-------------High Level API-------------*/RMstatus emi2c_write_subaddress(EMI2C_CONFIG* pC, RMuint8 uSlaveAddress, RMuint8 uSubAddress, RMuint8 *pData, RMuint32 uByteCount);#define EMI2C_RD_SUB_STOPONRESTART 0x100000#define EMI2C_RD_SUB_NONACKLASTBYTE 0x200000RMstatus emi2c_read_subaddress(EMI2C_CONFIG* pC, RMuint8 uSlaveAddress, RMuint8 uSubAddress, RMuint8 *pData, RMuint32 *pByteCount, RMuint32 uFlags);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -