資源簡介
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
評論
共有 條評論