宏定义:
#define SDA GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9) //读SDA引脚
#define SDA_HIGH() GPIO_SetBits(GPIOB,GPIO_Pin_9) //将SDA置高
#define SDA_LOW() GPIO_ResetBits(GPIOB,GPIO_Pin_9) //将SDA置低
#define SCL_HIGH() GPIO_SetBits(GPIOB,GPIO_Pin_8) //将SLA置高
#define SCL_LOW() GPIO_ResetBits(GPIOB,GPIO_Pin_8) //将SLA置低
引脚初始化:
void I2C_Configuration(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); //使能GPIOB时钟
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //PB8和PB9
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
GPIO_InitStructure

本文介绍了如何使用STM32F407单片机进行IIC总线通信,包括宏定义、引脚初始化、启动和终止信号的产生、应答和非应答的发送、应答位的检查、字节数据的读写以及延时子程序的设计。
最低0.47元/天 解锁文章
1681

被折叠的 条评论
为什么被折叠?



