首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用stm32f103c8t6蓝丸中的输出端口

启用stm32f103c8t6蓝丸中的输出端口
EN

Stack Overflow用户
提问于 2020-04-12 22:47:26
回答 1查看 1.1K关注 0票数 2

我试图启用PC13在蓝丸(stm32f103c8t6)是连接到一个发光二极管,不确定它是活动低或活动高,所以我尝试了这两个仍然不能工作。

RCC->APB2ENR |= 0x10;

用于启用C端口中的时钟。

GPIOC->CRH = (GPIOC->CRH & 0xFF0FFFFF) | 0x00100000;

用于配置端口C,使其处于输出模式和推挽模式.

GPIOC->ODR &= !(1<<13);用于将C13引脚驱动到较低的位置。

整个守则:

代码语言:javascript
复制
#include "stm32f10x.h"

int main(){
    RCC->APB2ENR |= 0x10;
    GPIOC->CRH = (GPIOC->CRH & 0xFF0FFFFF) | 0x00100000;  
    while(1) {
        GPIOC->ODR = ~(1<<13);//if it is Active Low
        for (int i = 0; i < 1000000; ++i) __asm__("nop");
        GPIOC->ODR |= 1<<13; //if it is Active High
        for (int i = 0; i <  500000; ++i) __asm__("nop");
    }

}

编辑:

经过一些调查后,我发现如果运行调试会话,代码工作得很好,这会是软件问题吗?还是调试代码设置了我没有的东西?正如我所说的,我正在使用uVision编译和闪存。

EN

回答 1

Stack Overflow用户

发布于 2020-10-28 08:26:00

如果您在"int“之前使用”易失性“,它将起作用。

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

https://stackoverflow.com/questions/61179208

复制
相关文章

相似问题

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