如何使探索者STM32F407开发板的GPIO口外接其他模块输出高电平

2019-07-20 21:53发布

我将STMF407板子的四个GPIO口(用的都是GPIOC)用杜邦线外接其他模块,比如想让这四个引脚分别输出0、0、0、1,即有一个引脚为高电平,其他三个为低电平,我用的GPIO_ResetBits()与GPIO_SetBits()函数,如:GPIO_ResetBits(GPIOC,GPIO_Pin_2|GPIO_Pin_5|GPIO_Pin_1|GPIO_Pin_0),但是用电压表测过之后发现,引脚电压没有变化或者变化了几百毫伏。各位大侠能指导我如何操作GPIO口输出高低电平?(我是添加在红外遥控的例程中的)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
忆初仁
2019-07-21 13:21
浪花雷雨 发表于 2016-5-31 09:02
1.引脚要配置为推挽输出,获得高输出驱动能力。2.GPIO_ResetBits()是把端口置为0电平,那输出就是毫伏了。 ...

现在的情况是
端口定义:
#define TE   PCout(8)
#define D1   PCout(4)
#define D2   PCout(5)
#define D3   PCout(9)
#define D4   PCout(10)
IO口配置:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_10|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;//推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;//下拉
GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化
main函数中使用:
case 104:str="1";
GPIO_ResetBits(GPIOC,GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_9|GPIO_Pin_8);
GPIO_SetBits(GPIOC,GPIO_Pin_10);break;
TE、D3、D4电压一直都是3.3V左右,无变化,D1、D2设置为高电平时电压为1.2V左右,设置为低电平时电压为0V
我的连接实物图:
怎么破??

一周热门 更多>