文章原始地址:http://feotech.com/?p=98
本程序主要用于使用可编程芯片自身的IO管脚,模拟I2C通信的协议,实现I2C总线数据的传输.
/**
******************************************************************************
* @file Virtual_I2C.C
* @author Ryan Zhao
* @version V1.0.0
* @date 2017-04-20
* @brief 软件I/O模拟I2C总线通讯.
******************************************************************************
* @attention Null
*
******************************************************************************
*/
/**
* @brief I2C引脚初始化.
* @param None.
* @retval None.
*/
void I2C_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE );//使能GPIOB时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; /