打印

PB11端口如何配置位普通I/O端口

[复制链接]
487|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大碴子味|  楼主 | 2020-4-26 08:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
头文件定义:
#define OTHER_LED_GPIO_PIN   GPIO_Pin_11           
#define OTHER_LED_GPIO_PORT  GPIOB                 
#define OTHER_LED_GPIO_CLK   RCC_APB2Periph_GPIOB   
C程序写法一:
void OTHER_GPIO_Config(void)                       
{
        ////将PB11设置为GPIO口,取消其作为USART3的串口功能
        RCC_APB2PeriphClockCmd(OTHER_LED_GPIO_CLK,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
        GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, DISABLE);
        
        ////结构体变量定义
        GPIO_InitTypeDef GPIO_InitStruct;              
        
        ////芯片工作指示灯端口初始化
        //芯片工作指示灯        
        GPIO_InitStruct.GPIO_Pin = OTHER_LED_GPIO_PIN;     //配置模式:引脚、输入输出方式、速度
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        
        GPIO_Init(OTHER_LED_GPIO_PORT, &GPIO_InitStruct);    //调用初始化函数               
}
C程序写法二:
void OTHER_GPIO_Config(void)                       
{
        ////结构体变量定义
        GPIO_InitTypeDef GPIO_InitStruct;              
        
        ////芯片工作指示灯端口初始化
        RCC_APB2PeriphClockCmd(OTHER_LED_GPIO_CLK, ENABLE);  
        
        GPIO_InitStruct.GPIO_Pin = OTHER_LED_GPIO_PIN;     //配置模式:引脚、输入输出方式、速度
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        
        GPIO_Init(OTHER_LED_GPIO_PORT, &GPIO_InitStruct);    //调用初始化函数               

}


  无论上述哪种写法,都没有实现PBout(11) = 0;的输出,也就是没有配置PB11为普通I/O端口,由于是初学STM32,用的是指南者开发板,位带配置是正确无无疑的,所以不太明白怎么配置PB11为普通I/O端口,之前对SMD和JTAG端口的重映射配置使那些被占用的端口成为了普通I/O端口,并且成功输出了高、低电平,但是这个PB11端口通关查看STM32资料,发现他与串口USART3复用,但是重映射并没有实现将其配置为普通I/O端口,然后就一头雾水了。
  最好有个例程程序或者实际应用的程序,以便参考,谢谢。希望能有个大神指点一二,谢谢了,急等,请各位大神多给些建议,讨论讨论也行,谢谢啦。。。。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

372

主题

372

帖子

0

粉丝