资源简介

STM32 GPIO 模拟IIC (I2C) c语言 源代码(测试绝对可用) 用STM32 GPIO模拟IIC 的c语言源代码,自己的项目中的,绝对可用。

资源截图

代码片段和文件信息

#include “myiic.h“
#include “delay.h“

u8 isBMI160=0 isPMU6050 =0;
void I2C_delay(void)
{
__NOP();
}
//初始化IIC
void IIC_Init(void)
{      
  RCC->APB2ENR|=1<<3;//先使能外设IO PORTB时钟   
GPIOB->CRH&=0XFFFF00FF;//PB1/11 推挽输出
GPIOB->CRH|=0X00003300;    
GPIOB->ODR|=3<<10;     //PB1011 输出高
}


//**************************************
//IIC起始信号
//**************************************
u8 IIC_Start(void)
{
#ifdef BMI160
SDA_H;
SCL_H;
I2C_delay();
if(!SDA_read)return FALSE; //SDA线为低电平则总线忙退出
SDA_L;
I2C_delay();
if(SDA_read) return FALSE; //SDA线为高电平则总线出错退出
SDA_L;
I2C_delay();
#else
SDA_OUT();     //sda线输出
IIC_SDA=1;      
IIC_SCL=1;
Delay_us(I2C_Delayus);
  IIC_SDA=0;//START:when CLK is highDATA change form high to low 
Delay_us(I2C_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        9336  2015-10-14 16:19  myiic.c
     文件        1790  2015-10-16 11:45  myiic.h

评论

共有 条评论