论坛
进入论坛
商行-迷你打铁铺
技术讨论区
|
上位机软件开发
|
应用技术讨论区
|
免费工具使用讨论
|
松鼠--开发板
|
豆皮--开发板
|
思维--可编程控制器
|
开源单端反激电源
|
项目综合讨论区
|
作品交流、逻辑电路、无刷驱动
|
精品下载区
转至论坛
你的位置:
StmFans思蜕盟 OPELC 自由电子联盟
>>
论坛
>>
技术讨论区
>>
查看帖子
各位大侠,在stm32中io位可不可以设置输出模式
发布: 2010-1-19 11:46 | 作者:
boboecit
| 来源: StmFans思蜕盟 OPELC 自由电子联盟
各位大侠,在stm32中io位可不可以设置输出模式,比如pb设置out_pp,但是我想把pb中某一个口设置成out_od,怎么做到
binglin
(2010-1-19 17:34:47)
当然可以,每个IO口的输出输入模式都可单独配置的。
binglin
(2010-1-19 17:43:33)
例如你想将PB8配置为GPIO_Mode_Out_OD,其它的GPIO口配置为GPIO_Mode_out_pp,代码如下:
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = |GPIO_Pin_0|GPIO_Pin_0|GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_out_pp;
GPIO_Init(GPIB, &GPIO_InitStructure);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_OD;
GPIO_Init(GPIB, &GPIO_InitStructure);
另外上面“GPIO_InitStructure.GPIO_Pin = |GPIO_Pin_0|GPIO_Pin_0|GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_15; ”也可改为:GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All,使用这种方式的前提取决于你的外设可以这么做。
简单说是GPIOX口的每一位都可以单独配置并初始化不同的模式。
boboecit
(2010-1-20 08:30:05)
3#
binglin
谢谢,我昨天也是这样的,后来我看了一下,是我没重新定义结构
我也来说两句
查看全部回复
网络资源
思蜕盟QQ群: 65081316(满) 68584951(满) 61958672(空) 59804115(空)
最新发表
optidrive
STM32F103RB USART的数据寄存器无法写
btyang
SPI1——SPI2传数据
zzzzzz
串口通信求助
ymtttttt
[求助] 串口查询方式接受数据 一直有问
btyang
STM32F2.02版固件库
wqb202
JTAG连接出现问题?
yyjslna
新建的工程怎么不能编译,不知问题出现在
020411
TFT此种接法是不是有问题?
020411
STM32 5V容忍用法,请注意
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = |GPIO_Pin_0|GPIO_Pin_0|GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_out_pp;
GPIO_Init(GPIB, &GPIO_InitStructure);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_OD;
GPIO_Init(GPIB, &GPIO_InitStructure);
另外上面“GPIO_InitStructure.GPIO_Pin = |GPIO_Pin_0|GPIO_Pin_0|GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_12|GPIO_Pin_14|GPIO_Pin_15; ”也可改为:GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All,使用这种方式的前提取决于你的外设可以这么做。
简单说是GPIOX口的每一位都可以单独配置并初始化不同的模式。
谢谢,我昨天也是这样的,后来我看了一下,是我没重新定义结构