沉眠钟声 2022-09-26 12:23 采纳率: 75%
浏览 50
已结题

stm32点灯失败?

为什么我用HAL库就能点亮,用库函数的时候就不可以呢?
这是LED.c的代码

#include "stm32f10x.h"            // Device header
#include "LED.h"

/*初始化LED*/
void LEDConfig(void){
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//开启CPIO外设时钟
    
    GPIO_InitTypeDef GPIO_Initstruct;//定义句柄结构体
    GPIO_Initstruct.GPIO_Pin=GPIO_Pin_13;//选择引脚
    GPIO_Initstruct.GPIO_Speed=GPIO_Speed_50MHz;//配置速度为50MHz
    GPIO_Initstruct.GPIO_Mode=GPIO_Mode_Out_PP;//配置引脚为推挽输出
    GPIO_Init(GPIOC,&GPIO_Initstruct);//初始化GPIO
    
    GPIO_SetBits(GPIOC,GPIO_Pin_13);//关闭LED灯
}

/*打开LED*/
void LED_ON(void){
    GPIO_ResetBits(GPIOC,GPIO_Pin_13);//开启LED
}

/*关闭LED*/
void LED_OFF(void){
    GPIO_SetBits(GPIOC,GPIO_Pin_13);
}


这是main.h的

#include "stm32f10x.h"                  // Device header
#include "LED.h"
#include "ADC.h"
#include "USART.h"


void Delay(uint32_t Count);//简单延时函数
uint16_t ADCValue = 0;
uint32_t ADCValue2[4];

int main(void){
    //SystemInit();
    LEDConfig();
    ADCConfig();
    USARTConfig();
    
    LED_ON();
    
    while(1){
    
    }
}

void Delay(uint32_t Count){
    for(;Count!=0;Count--);
}


  • 写回答

2条回答 默认 最新

  • 孤生i C/C++领域新星创作者 2022-09-26 13:08
    关注

    1、LED_ON函数和LED_OFF函数的内容写反了,GPIO_SetBits为亮灯,GPIO_ReSetBits为灭灯。
    2、检查输出IO口是否正确,即led灯对应的io口是否为PC13。
    总体来说代码写得没有问题,一些细节的方面需要注意,设置IO口高低电平电亮led灯需要看具体的开发板原理图设计,即led灯的另一段是高电平还是低电平。
    如果解决了,希望点个关注采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月4日
  • 已采纳回答 9月26日
  • 创建了问题 9月26日

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?