bsp_IIC.h varint.h D:/gitt/MicrochipFor32/bsp_Device/bsp_IIC.cpp D:/gitt/MicrochipFor32/bsp_Device/bsp_IIC_STM32.h bsp_IIC @1 IIC_RESET 管脚复位状态 IIC_SET 管脚置位状态 IIC_READ 读取管脚状态 控制管脚的三种状态(置位,复位,读取) 本类实现软件IIC功能 依此类派生出其他软件IIC功能 /*---------------------------------------------------------------------------------------------------- # #Copyright(c)2022YuankangLiang(XerolySkinner) # #本软件按原样提供,无任何明示或暗示 #在任何情况下,作者都不承担任何损害赔偿责任 # #使用的许可声明: #1.不得歪曲本软件的来源,你不能声称你编写了原始软件. #2.免费授予以任何目的,前提是版权声明出现在所有副本中. #并且版权声明和许可声明同时出现. #3.你有使用,复制,修改,分发,和销售本软件的许可. #4.如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的. #5.本通知不得从任何来源删除或更改. # #YuankangLiang(XerolySkinner) #E-mail:zabbcccbbaz@163.com #QQ:2715099320 #MobilePhone:13005636215 # #Allrightsreserved. */ #ifdef__cplusplus #pragmaonce #include"varint.h" //---------------------------------------------------------------------------------------------------- //枚举头 enum{ IIC_RESET, IIC_SET, IIC_READ }; //---------------------------------------------------------------------------------------------------- //类目 classbsp_IIC{ public: voidIIC_WriteOneByte(u8id,u8addr,u8dat); u8IIC_ReadOneByte(u8id,u8addr); voidIIC_Write(u8id,u8addr,u8*dat,u32len); voidIIC_Read(u8id,u8addr,u8*dat,u32len); public: voidIIC_Start(void); voidIIC_Stop(void); voidIIC_SendAck(u8ackbit); u8IIC_WaitAck(void); voidIIC_SendByte(u8byt); u8IIC_RecByte(void); protected: virtualu8IIC_SCK(u8var)=0; virtualu8IIC_SDA(u8var)=0; virtualvoidIIC_Delay(void)=0; }; #endif