首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法打开LED灯

无法打开LED灯
EN

Stack Overflow用户
提问于 2018-05-02 06:07:57
回答 1查看 85关注 0票数 0

我一直试图在我的STM32F407VG发现板上打开LED6,但由于某种原因,它不能打开。

我的代码如下所示:

代码语言:javascript
复制
int main(void)

{

代码语言:javascript
复制
//PD 15

RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN;

GPIOD->MODER |= GPIO_MODER_MODER15_0;

GPIOD->OTYPER &= ~(GPIO_OTYPER_OT_15);

GPIOD->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR15;

GPIOD->PUPDR &= ~(GPIO_PUPDR_PUPDR15);


GPIOD->BSRRH = GPIO_BSRR_BS_15;


return 0;

}

我使用的是Attolic studio。当我运行调试器时,所有的寄存器都有正确的值。唯一亮起的LED是LED1和LED2 -电源指示灯。

任何帮助都将不胜感激。

亲切的问候

EN

回答 1

Stack Overflow用户

发布于 2018-05-02 19:54:44

看起来是正确的,但我记得stm32f4xx.h没有BSRRHBSRRL寄存器(至少是最新版本),寄存器名为BSRR。请尝试将最后一行替换为:

代码语言:javascript
复制
GPIOD->ODR |= GPIO_ODR_OD15;

如果此代码可以工作,则意味着您设置的BSRRH值不正确或需要使用BSRRL寄存器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50124536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档