stm32同一组io口不同引脚设置不同输入输出模式

2019-03-23 14:53发布

stm32同一组io口不同引脚设置不同输入输出模式,比如PA口的PA1用作输入使用来读取输入值,PA2用作输出使用来输出高低电平。这个时候应该怎么初始化话呢?像下面这样么?我猜下面这样肯定不对。期待大神路过~
    GPIO_InitTypeDef GPIO_InitStruct;
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
   
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
    GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
    GPIO_InitStruct.GPIO_Speed = GPIO_High_Speed;

    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;
    GPIO_InitStruct.GPIO_Mode =GPIO_Mode_OUT  ;
  
    GPIO_Init(GPIOA,&GPIO_InitStruct);


此帖出自小平头技术问答
10条回答
shijizai
1楼 · 2019-03-23 22:10.采纳回答
/ 结贴啦,IO口的配置中一个GPIO_init()中的GPIO_InitStructure函数只是针对你写的对应的引脚的而不是一整个组的,如果你想写同一组IO口的不同引脚不同功能,只需要写多个GPIO_InitStructure函数就可以了。
shijizai
2楼-- · 2019-03-24 23:27
 精彩回答 2  元偷偷看……
ienglgge
3楼-- · 2019-03-25 04:40
shijizai 发表于 2018-12-25 14:31
void GPIO_OUT(void)
{
        GPIO_InitTypeDef GPIO_InitStruct;
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph ...

GPIO_InitStructure的每个成员最多配置一次,然后执行GPIO_Init。
再配置下一个引脚。重复上面的过程。
shijizai
4楼-- · 2019-03-25 08:01
ienglgge 发表于 2018-12-25 16:07
GPIO_InitStructure的每个成员最多配置一次,然后执行GPIO_Init。
再配置下一个引脚。重复上面的过程。

嗯嗯,谢谢

一周热门 更多>