bsp_IIC bsp_IIC_STM32 bsp_IIC.h void void bsp_IIC::IIC_WriteOneByte (u8 id, u8 addr, u8 dat) IIC_WriteOneByte bsp_IIC::IIC_WriteOneByte u8 id u8 addr u8 dat 使用总线发送一个字节数据 id 发送的器件地址,如0x68(MPU6050) addr 需要改写的寄存器地址 dat 改写的数据 无返回值 IIC_SendByte IIC_Start IIC_Stop IIC_WaitAck bsp_STM32_OLED::Send_cmd bsp_STM32_OLED::Send_dat bsp_STM32_AT24C00::WriteOneByte u8 u8 bsp_IIC::IIC_ReadOneByte (u8 id, u8 addr) IIC_ReadOneByte bsp_IIC::IIC_ReadOneByte u8 id u8 addr 使用总线接收一个字节数据 id 接收的器件地址,如0x68(MPU6050) addr 需要获取数据的寄存器地址 返回该寄存器内的数据 IIC_RecByte IIC_SendAck IIC_SendByte IIC_Start IIC_Stop IIC_WaitAck bsp_STM32_AT24C00::ReadOneByte void void bsp_IIC::IIC_Write (u8 id, u8 addr, u8 *dat, u32 len) IIC_Write bsp_IIC::IIC_Write u8 id u8 addr u8 * dat u32 len 使用总线发送定长数据 id 发送的器件地址,如0x68(MPU6050) addr 需要改写的寄存器地址起始 dat 改写的数据指针 len 数据数目 无返回值 IIC_SendByte IIC_Start IIC_Stop IIC_WaitAck bsp_STM32_OLED::Send_len_dat void void bsp_IIC::IIC_Read (u8 id, u8 addr, u8 *dat, u32 len) IIC_Read bsp_IIC::IIC_Read u8 id u8 addr u8 * dat u32 len 使用总线接收定长数据 id 接收的器件地址,如0x68(MPU6050) addr 需要接收的寄存器地址起始 dat 改写的数据指针 len 数据数目 无返回值 IIC_RecByte IIC_SendAck IIC_SendByte IIC_Start IIC_Stop IIC_WaitAck bsp_STM32_AT24C00::AT_ReadByte void void bsp_IIC::IIC_Start (void) IIC_Start bsp_IIC::IIC_Start void 发送IIC开始信号 IIC_Delay IIC_RESET IIC_SCK IIC_SDA IIC_SET bsp_STM32_OLED::Clear IIC_Read IIC_ReadOneByte IIC_Write IIC_WriteOneByte bsp_STM32_OLED::Picture_display bsp_STM32_OLED::Picture_ReverseDisplay bsp_STM32_AT24C00::WriteByte void void bsp_IIC::IIC_Stop (void) IIC_Stop bsp_IIC::IIC_Stop void 发送IIC停止信号 IIC_Delay IIC_RESET IIC_SCK IIC_SDA IIC_SET bsp_STM32_OLED::Clear IIC_Read IIC_ReadOneByte IIC_Write IIC_WriteOneByte bsp_STM32_OLED::Picture_display bsp_STM32_OLED::Picture_ReverseDisplay bsp_STM32_AT24C00::WriteByte void void bsp_IIC::IIC_SendAck (u8 ackbit) IIC_SendAck bsp_IIC::IIC_SendAck u8 ackbit 发送IIC应答信号 ackbit 0为应答,1位非应答 IIC_Delay IIC_RESET IIC_SCK IIC_SDA IIC_SET IIC_Read IIC_ReadOneByte u8 u8 bsp_IIC::IIC_WaitAck (void) IIC_WaitAck bsp_IIC::IIC_WaitAck void 等待应答信号 返回是否有回应 IIC_Delay IIC_READ IIC_RESET IIC_SCK IIC_SDA IIC_SET bsp_STM32_OLED::Clear IIC_Read IIC_ReadOneByte IIC_Write IIC_WriteOneByte bsp_STM32_OLED::Picture_display bsp_STM32_OLED::Picture_ReverseDisplay bsp_STM32_AT24C00::WriteByte void void bsp_IIC::IIC_SendByte (u8 byt) IIC_SendByte bsp_IIC::IIC_SendByte u8 byt 发送IIC一个字节信号 byt 发送的字节 IIC_Delay IIC_RESET IIC_SCK IIC_SDA IIC_SET bsp_STM32_OLED::Clear IIC_Read IIC_ReadOneByte IIC_Write IIC_WriteOneByte bsp_STM32_OLED::Picture_display bsp_STM32_OLED::Picture_ReverseDisplay bsp_STM32_AT24C00::WriteByte u8 u8 bsp_IIC::IIC_RecByte (void) IIC_RecByte bsp_IIC::IIC_RecByte void 接收IIC一个字节信号 接收到的一个字节信号 IIC_Delay IIC_READ IIC_RESET IIC_SCK IIC_SDA IIC_SET IIC_Read IIC_ReadOneByte u8 virtual u8 bsp_IIC::IIC_SCK (u8 var)=0 IIC_SCK bsp_IIC::IIC_SCK IIC_SCK u8 var 控制SCK管脚口 var 此处有三个状态,IIC_SET置位管脚,IIC_RESET复位管脚 当var为IIC_READ时返回管脚状态 待办事项需要为其实现才可使用软件IIC IIC_RecByte IIC_SendAck IIC_SendByte IIC_Start IIC_Stop IIC_WaitAck u8 virtual u8 bsp_IIC::IIC_SDA (u8 var)=0 IIC_SDA bsp_IIC::IIC_SDA IIC_SDA u8 var 控制SDA管脚口 var 此处有三个状态,IIC_SET置位管脚,IIC_RESET复位管脚 当var为IIC_READ时返回管脚状态 待办事项需要为其实现才可使用软件IIC IIC_RecByte IIC_SendAck IIC_SendByte IIC_Start IIC_Stop IIC_WaitAck void virtual void bsp_IIC::IIC_Delay (void)=0 IIC_Delay bsp_IIC::IIC_Delay IIC_Delay IIC_Delay void 时序中的延时 在此处短暂延时 待办事项需要为其实现才可使用软件IIC IIC_RecByte IIC_SendAck IIC_SendByte IIC_Start IIC_Stop IIC_WaitAck IIC的基础实现方法 留下三个保护性接口需要实现,分别是控制时钟,控制数据,延时函数 bsp_IICIIC_Delay bsp_IICIIC_Read bsp_IICIIC_ReadOneByte bsp_IICIIC_RecByte bsp_IICIIC_SCK bsp_IICIIC_SDA bsp_IICIIC_SendAck bsp_IICIIC_SendByte bsp_IICIIC_Start bsp_IICIIC_Stop bsp_IICIIC_WaitAck bsp_IICIIC_Write bsp_IICIIC_WriteOneByte