电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
求助,为什么直接操作GPIO的BRR与BSRR寄存器不管用?
已解决
73482
个问题
已帮助
5993
位优秀工程师
求助,为什么直接操作GPIO的BRR与BSRR寄存器不管用?
hehexi
2019-07-19
浏览量:1101
我要通过设置GPIOB.5(在战舰V3开发板上连接到了LED的DS0)来产生高低电平从而触发一个从设备的外部中断。但是我在下面程序段中操作寄存器也无法使得PB.5变为高电平(因为LED一直亮,我认为这就表示PB.5的电平仍为低电平)
//PB5 通过此GPIO发送读取时间的信号给次STM32
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PB5
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_Init(GPIOB &GPIO_InitStructure);//初始化GPIOB.5
GPIOB->BSRR=GPIO_Pin_5;
与此同时,我在UART1的中断服务函数中使用同样的操作寄存器的方法和库函数的方法,问题依旧。
//GPIO_ResetBits(GPIOBGPIO_Pin_5);
GPIOB->BRR=GPIO_Pin_5;
delay_ms(1000);
//GPIO_SetBits(GPIOBGPIO_Pin_5);
GPIOB->BSRR=GPIO_Pin_5;
显示全部
单片机
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答
数量:
1
yhj416606438
不要用复用功能,直接用推挽输出,还有gpiob的时钟没有打开,还有就是系统时钟配置是否正确,可以用内部时钟,不要超频测一下
发布于
2019-07-19
举报
评论 0
0
0
发布
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
求助,为什么直接操作GPIO的BRR与BSRR寄存器不管用?
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: