MF32BSP_XerolySkinner 2.0.0
C++版本的驱动库
载入中...
搜索中...
未找到
bsp_IIC.h
浏览该文件的文档.
1/*----------------------------------------------------------------------------------------------------
2 #
3 # Copyright (c) 2022 Yuankang Liang(XerolySkinner)
4 #
5 # 本软件按原样提供,无任何明示或暗示
6 # 在任何情况下,作者都不承担任何损害赔偿责任
7 #
8 # 使用的许可声明:
9 # 1. 不得歪曲本软件的来源,你不能声称你编写了原始软件.
10 # 2. 免费授予以任何目的,前提是版权声明出现在所有副本中.
11 # 并且版权声明和许可声明同时出现.
12 # 3. 你有使用,复制,修改,分发,和销售本软件的许可.
13 # 4. 如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.
14 # 5. 本通知不得从任何来源删除或更改.
15 #
16 # Yuankang Liang(XerolySkinner)
17 # E-mail:zabbcccbbaz@163.com
18 # QQ:2715099320
19 # Mobile Phone:13005636215
20 #
21 # All rights reserved.
22 */
23
35#ifdef __cplusplus
36#pragma once
37#include "varint.h"
39//----------------------------------------------------------------------------------------------------
40// 枚举头
44enum {
48};
50//----------------------------------------------------------------------------------------------------
51// 类目
56class bsp_IIC{
57 public:
58 void IIC_WriteOneByte(u8 id, u8 addr, u8 dat);
59 u8 IIC_ReadOneByte(u8 id, u8 addr);
60 void IIC_Write(u8 id,u8 addr,u8* dat,u32 len);
61 void IIC_Read(u8 id,u8 addr,u8* dat,u32 len);
62 public:
63 void IIC_Start(void);
64 void IIC_Stop(void);
65 void IIC_SendAck(u8 ackbit);
66 u8 IIC_WaitAck(void);
67 void IIC_SendByte(u8 byt);
68 u8 IIC_RecByte(void);
69 protected:
77 virtual u8 IIC_SCK(u8 var) = 0;
85 virtual u8 IIC_SDA(u8 var) = 0;
91 virtual void IIC_Delay(void) = 0;
92 };
94#endif
95
@ IIC_RESET
管脚复位状态
Definition: bsp_IIC.h:45
@ IIC_SET
管脚置位状态
Definition: bsp_IIC.h:46
@ IIC_READ
读取管脚状态
Definition: bsp_IIC.h:47
IIC的基础实现方法 留下三个保护性接口需要实现,分别是控制时钟,控制数据,延时函数
Definition: bsp_IIC.h:56
u8 IIC_RecByte(void)
接收IIC一个字节信号
Definition: bsp_IIC.cpp:114
u8 IIC_WaitAck(void)
等待应答信号
Definition: bsp_IIC.cpp:85
void IIC_SendAck(u8 ackbit)
发送IIC应答信号
Definition: bsp_IIC.cpp:71
void IIC_Start(void)
发送IIC开始信号
Definition: bsp_IIC.cpp:47
virtual u8 IIC_SCK(u8 var)=0
控制SCK管脚口
void IIC_Write(u8 id, u8 addr, u8 *dat, u32 len)
使用总线发送定长数据
Definition: bsp_IIC.cpp:177
u8 IIC_ReadOneByte(u8 id, u8 addr)
使用总线接收一个字节数据
Definition: bsp_IIC.cpp:153
void IIC_WriteOneByte(u8 id, u8 addr, u8 dat)
使用总线发送一个字节数据
Definition: bsp_IIC.cpp:136
void IIC_Read(u8 id, u8 addr, u8 *dat, u32 len)
使用总线接收定长数据
Definition: bsp_IIC.cpp:198
virtual void IIC_Delay(void)=0
时序中的延时 在此处短暂延时
virtual u8 IIC_SDA(u8 var)=0
控制SDA管脚口
void IIC_SendByte(u8 byt)
发送IIC一个字节信号
Definition: bsp_IIC.cpp:98
void IIC_Stop(void)
发送IIC停止信号
Definition: bsp_IIC.cpp:59
uint8_t u8
8位无符号数类型
Definition: varint.h:40
uint32_t u32
32位无符号数类型
Definition: varint.h:42