OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3436|回复: 8

STM32103精英版无法输出高低电平

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-9-10
在线时间
1 小时
发表于 2020-9-10 19:33:59 | 显示全部楼层 |阅读模式
1金钱
最近想做个只能小车程序,但是GPIO口无法输出高低电平,很头大!!

然后我就做了个最简单的程序,测试IO口。非常简单的程序,连接系统内PB5和PE5的小灯可以亮,把串口外连就输出不了,外部的灯就不亮了。。。问了客服也无法解决,求大神相助!
以下是我写的程序。

#include "led.h"
void LED_Init(void)
{   
GPIO_InitTypeDef  GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE);       

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                               
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;               
GPIO_Init(GPIOB, &GPIO_InitStructure);                                       
GPIO_SetBits(GPIOB,GPIO_Pin_5);       
                                       
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                           
GPIO_Init(GPIOE, &GPIO_InitStructure);                                         
GPIO_ResetBits(GPIOE,GPIO_Pin_5);                                                
}




#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"                                              
int main(void)
     {                delay_init();
       LED_Init();
        while(1)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
GPIO_SetBits(GPIOE,GPIO_Pin_5);
}
}
       




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

314

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1039
金钱
1039
注册时间
2020-7-21
在线时间
258 小时
发表于 2020-9-11 14:36:49 | 显示全部楼层
你的测试程序有问题,你在循环里面使用这样的句子没有意义,这样会导致PB5一直输出0,PE5一直输出1
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
GPIO_SetBits(GPIOE,GPIO_Pin_5);
回复

使用道具 举报

3

主题

808

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3875
金钱
3875
注册时间
2017-3-7
在线时间
1691 小时
发表于 2020-9-11 16:37:53 | 显示全部楼层
没看懂你的描述,接了串口就输出不了,外部led灯指的是什么灯?
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-9-10
在线时间
1 小时
 楼主| 发表于 2020-9-11 16:41:13 | 显示全部楼层
DFY 发表于 2020-9-11 14:36
你的测试程序有问题,你在循环里面使用这样的句子没有意义,这样会导致PB5一直输出0,PE5一直输出1
GPIO_Re ...

这样的话一个高一个低,连上灯泡不就可以亮了吗?但是实际我测试的不可以亮。
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2020-9-10
在线时间
1 小时
 楼主| 发表于 2020-9-11 16:43:36 | 显示全部楼层
a5820736 发表于 2020-9-11 16:37
没看懂你的描述,接了串口就输出不了,外部led灯指的是什么灯?

是这样的,就是我设置一个高电平,一个低电平,外部LED就是我通过IO口连接了一个小灯,然后这个小灯泡不亮,不知道你看懂了吗?
回复

使用道具 举报

11

主题

314

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1039
金钱
1039
注册时间
2020-7-21
在线时间
258 小时
发表于 2020-9-11 17:03:47 | 显示全部楼层
Bruce邢 发表于 2020-9-11 16:43
是这样的,就是我设置一个高电平,一个低电平,外部LED就是我通过IO口连接了一个小灯,然后这个小灯泡不 ...

调试,看看IDR的值对不对,然后,用万用表测量引脚的电压对不对,看看是不是你的硬件问题
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4478
金钱
4478
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-9-12 10:44:36 | 显示全部楼层
调试一下看看寄存器的值
回复

使用道具 举报

23

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
365
金钱
365
注册时间
2018-3-21
在线时间
64 小时
发表于 2020-9-12 15:52:09 | 显示全部楼层
万用表或者示波器量一下是不是你设置的电平状态即可,这应该很好解决
回复

使用道具 举报

1

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2018-7-7
在线时间
20 小时
发表于 2020-9-12 17:28:43 | 显示全部楼层
不会是外面的led连错了吧,电路图发出来看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-17 07:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表