1.STM32之GPIO输出

求点赞🙏🙏🙏

1.硬件设计

image.png

2.相关概念

image.png

image.png

3.代码

3.1 GPIO操作

GPIO_SetBits(GPIOD,GPIO_Pin_2);  //PD.2 输出高

GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_SET);   //PD.2 输出高
GPIO_WriteBit(GPIOD,GPIO_Pin_2,Bit_RESET); //PD.2 输出低

GPIO_ResetBits(GPIOD,GPIO_Pin_2);  //PD.2 输出低

3.2 初始化

void LED_Init(void)
{
 GPIO_InitTypeDef  GPIO_InitStructure;
    
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE);  //使能PA,PD端口时钟
    
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                   //LED0-->PA.8 端口配置
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        //推挽输出
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;       //IO口速度为50MHz
 GPIO_Init(GPIOA, &GPIO_InitStructure);                        //根据设定参数初始化GPIOA.8
 GPIO_SetBits(GPIOA,GPIO_Pin_8);                                   //PA.8 输出高

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;                 //LED1-->PD.2 端口配置, 推挽输出
 GPIO_Init(GPIOD, &GPIO_InitStructure);                       //推挽输出 ,IO口速度为50MHz
 GPIO_SetBits(GPIOD,GPIO_Pin_2);                                    //PD.2 输出高 
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容