打印

请教一个关于GPIO的问题。谢谢大家。

[复制链接]
4198|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
        GPIO_InitTypeDef  GPIO_InitStructure;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10
                | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13| GPIO_Pin_14 | GPIO_Pin_15;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_Init(GPIOB, &GPIO_InitStructure);        //8个GPIOB pin
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
        GPIO_Init(GPIOE, &GPIO_InitStructure);   //1个GPIOE pin


大家好,看一个板子的代码时,发现板子只配置了9个输入,而实际上板子上有24个输入,为什么没有配置的也能正常使用!
麻烦指导一下。

使用特权

评论回复
评论
zyj9490 2022-9-30 15:02 回复TA
看看上电复位的端口的配置状态就清楚了。 
沙发
LcwSwust| | 2022-9-29 17:24 | 只看该作者
GPIO默认浮空输入

使用特权

评论回复
评论
dircls0088 2022-9-30 08:19 回复TA
answer 
评分
参与人数 1威望 +1 收起 理由
dircls0088 + 1 first anwser
板凳
dircls0088|  楼主 | 2022-9-30 08:16 | 只看该作者
LcwSwust 发表于 2022-9-29 17:24
GPIO默认浮空输入

默认是输入,那输出是必须要配置的哟?

使用特权

评论回复
地板
LcwSwust| | 2022-9-30 08:24 | 只看该作者
dircls0088 发表于 2022-9-30 08:16
默认是输入,那输出是必须要配置的哟?

是的啊,其实所谓“配置”也就是对某个寄存器赋值,你若不给它赋值,它也是有初始值的,不存在“没有配置”。


使用特权

评论回复
5
dircls0088|  楼主 | 2022-9-30 08:26 | 只看该作者
LcwSwust 发表于 2022-9-30 08:24
是的啊,其实所谓“配置”也就是对某个寄存器赋值,你若不给它赋值,它也是有初始值的,不存在“没有配置 ...

谢谢老板指点!

使用特权

评论回复
6
coody| | 2022-9-30 10:21 | 只看该作者
输入是默认的.你试试只配置9个输出,看能不能输出24个.

使用特权

评论回复
7
ASHYLAI| | 2022-10-2 14:09 | 只看该作者

确切地说呢,没有有意地去设置IO,那么它就处于一种由芯片自定义,一般是由芯片设计所确定的状态。对于STM32芯片,可以理解为输入,由于读寄存器无论任何时候都是连上IO的,此时可以从读寄存器获取io电平。
而且,看样子在配置为输出等功能时,读寄存器一样可以获得IO电平值。

使用特权

评论回复
8
前功尽弃| | 2022-10-5 11:31 | 只看该作者

请教一个关于GPIO的问题。谢谢大家。

芯片上电会有一个默认状态

使用特权

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

本版积分规则

2

主题

9

帖子

0

粉丝