更新
This commit is contained in:
52
通讯协议/软件IIC/AbsSoftIIC.h
Normal file
52
通讯协议/软件IIC/AbsSoftIIC.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
@文件:AbsSoftIIC.h
|
||||
@作者:你遇了我
|
||||
@联系:321640253@qq.com
|
||||
@描述:软件IIC,请在配置区按照自己的情况改动
|
||||
@版本:v0.1.2
|
||||
*/
|
||||
|
||||
#ifndef _ABS_SOFT_I2C_H_
|
||||
#define _ABS_SOFT_I2C_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#define ABS_SOFT_IIC_ON 0 //启动整个软件IIC
|
||||
#if(ABS_SOFT_IIC_ON)
|
||||
/****************************配置区(BEGIN)****************************************/
|
||||
/*------导入你需要的头文件(BEGIN)------*/
|
||||
#include "main.h"
|
||||
/*------导入你需要的头文件(END)--------*/
|
||||
|
||||
|
||||
#define ABS_IIC_DELAY_TIME 10
|
||||
#define ABS_IIC_Wait_OUTTime 2000
|
||||
|
||||
/*1、按选择自己的需求定义SDA线和SCL线的函数,建议用推挽输出*/
|
||||
#define ABS_IIC_SDA_Set() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET) //定义你的SDA引脚设置高电平函数
|
||||
#define ABS_IIC_SDA_Reset() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET) //定义你的SDA引脚设置低电平函数
|
||||
#define ABS_IIC_SCL_Set() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET) //定义你的SCL引脚设置高电平函数
|
||||
#define ABS_IIC_SCL_Reset() HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET) //定义你的SCL引脚设置低电平函数
|
||||
|
||||
#define ABS_IIC_SDA_READ() HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_8)
|
||||
/*2、到抽象实现区实现SDA引脚的输入输出模式的改变函数*/
|
||||
|
||||
/****************************配置区(END)******************************************/
|
||||
|
||||
typedef enum _ABS_sotfiic_state{
|
||||
ABS_IIC_STATE_ACK = 0U,
|
||||
ABS_IIC_STATE_NACK = 1U,
|
||||
ABS_SOFT_IIC_TIMEOUT = 2U,
|
||||
ABS_SOFT_IIC_SUCCESS = 3U,
|
||||
ABS_SOFT_IIC_ERROR = 4U,
|
||||
} ABS_SOFT_IIC_STATE;
|
||||
|
||||
|
||||
|
||||
/****************************函数声明区(BEGIN)************************************/
|
||||
ABS_SOFT_IIC_STATE ABS_I2C_WR_Byte(uint8_t address,uint8_t dat); //发送一个字节数据
|
||||
ABS_SOFT_IIC_STATE ABS_I2C_WR_Bytes(uint8_t address,uint8_t *dat,uint8_t num); //发送多个字节数据
|
||||
ABS_SOFT_IIC_STATE ABS_I2C_RD_Bytes(uint8_t address,uint8_t *dat,uint8_t num);
|
||||
/****************************函数声明区(END)**************************************/
|
||||
#endif //ABS_SOFT_IIC_ONL
|
||||
#endif
|
||||
Reference in New Issue
Block a user