我是靠谱客的博主 清新镜子,这篇文章主要介绍I2C总线GPIO初始化设置,现在分享给大家,希望可以做个参考。

1、I2C总线GPIO初始化设置:
void I2C_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|
RCC_APB2Periph_GPIOC);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
GPIO_InitStructure.GPIO_Pin=I2C_SCL | I2C_SDA;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_OD;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(I2CPORT,&GPIO_InitStructure);
}

代码注释:
GPIO_InitTypeDef 一种复合数据类型(利用结构体);
RCC 设置MCU不同功能模块的时钟源和工作频率,通过RCC_APB2PeriphClockCmd(…)函数使能APB2总线对GPIOA、GPIOB、GPIOC端口的时钟配置;
通过RCC_APB2PeriphClockCmd(…)函数使能APB1总线I2C1的时钟和频率配置
通过GPIO_InitStructure结构体选择SCL和SDA端口,设置模式为复用开漏输出,I/O转换速度为50MHz,接着通过GPIO_Init()函数将相关初始化配置写入I2CPORT端口。

最后

以上就是清新镜子最近收集整理的关于I2C总线GPIO初始化设置的全部内容,更多相关I2C总线GPIO初始化设置内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(127)

评论列表共有 0 条评论

立即
投稿
返回
顶部