1 Star 0 Fork 8

辛晓宇/vtor_elec_module

forked from vtor3478/vtor_elec_module 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
vtor_i2c.h 1.70 KB
一键复制 编辑 原始数据 按行查看 历史
vtor3478 提交于 2023-11-19 23:41 . 精简开关宏
#ifndef __VTOR_I2C_H_
#define __VTOR_I2C_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "vtor_elec_module_config.h"
#ifdef __VTOR_I2C__
typedef enum
{
VTOR_I2C_STATE_OK = 0x00U,
VTOR_I2C_STATE_ERROR = 0x01U,
VTOR_I2C_STATE_BUSY = 0x02U,
VTOR_I2C_STATE_TIMEOUT = 0x03U,
VTOR_I2C_STATE_DEV_ADDR_NAK = 0x04U,
VTOR_I2C_STATE_DEV_REG_NAK = 0x05U,
VTOR_I2C_STATE_DEV_DATA_NAKE = 0x06U,
}VTOR_I2C_State;
typedef enum
{
GPIO_DIR_OUTPUT = 0x00U,
GPIO_DIR_INPUT = 0x01U,
}GPIO_DirTypeDef;
typedef struct VtorI2c
{
void (*setSCL)(uint8_t level);
void (*setSDA)(uint8_t level);
uint8_t (*readSCL)();
uint8_t (*readSDA)();
void (*setSDA_Dir)(uint8_t dir);
}VtorI2cStruct;
extern VtorI2cStruct si2c2;
void VtorI2c_Delay(uint32_t tick);
#define GPIO_LEVEL_HIGH 1
#define GPIO_LEVEL_LOW 0
#define GPIO_DIR_INPUT 1
#define GPIO_DIR_OUTPUT 0
void VtorI2c_Init(void);
void VtorI2c_Start(VtorI2cStruct* si2c);
void VtorI2c_Stop(VtorI2cStruct* si2c);
void VtorI2c_SendByte(VtorI2cStruct* si2c, uint8_t txd);
uint8_t VtorI2c_ReadByte(VtorI2cStruct* si2c);
uint8_t VtorI2c_WaitAck(VtorI2cStruct* si2c);
void VtorI2c_Ack(VtorI2cStruct* si2c);
void VtorI2c_NAck(VtorI2cStruct* si2c);
void VtorI2c_SetSDA_Dir(VtorI2cStruct* si2c, uint8_t dir);
uint8_t VtorI2c_ReadMem(VtorI2cStruct* si2c, uint8_t slaveAddress, uint16_t regAddress, uint8_t regAddrLen , uint8_t* buf, uint16_t len);
uint8_t VtorI2c_WriteMem(VtorI2cStruct* si2c, uint8_t slaveAddress, uint16_t regAddress, uint8_t regAddrLen , uint8_t* buf, uint16_t len);
uint8_t VtorI2c_CheckIo(VtorI2cStruct* si2c);
uint8_t VtorI2c_CheckDevice(VtorI2cStruct* si2c, uint8_t addr);
#endif // ELEC_MODULE_VTOR_I2C_ENABLED
#ifdef __cplusplus
}
#endif
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xin-xiaoyu/vtor_elec_module.git
git@gitee.com:xin-xiaoyu/vtor_elec_module.git
xin-xiaoyu
vtor_elec_module
vtor_elec_module
main

搜索帮助