基于stm32f303cbt6的点灯实验(硬件+软件)

本文讲述了作者使用STM32F303开发板尝试点亮LED时遇到的一系列问题,包括硬件电路、软件编程、调试过程和最终的故障定位。从短路分析到晶振问题,直至发现LED焊接错误,揭示了问题解决的详细步骤和宝贵经验。

一、硬件原理图及PCB

项目完整的原理图
在这里插入图片描述
在这里插入图片描述
理论上只要给高电平,灯就亮。

二、软件(keil程序)

main.c

//stm32f303cbt6
//32kb ram
//128kb flash
//本实验,LED常亮
/* Includes ------------------------------------------------------------------*/
#include <stm32f30x.h>
#include <stdio.h>
#include "led.h"

int main()
{
   
   
	
  // Sysclk = 72 MHz
  hardware_init_all();
	while(1)
	{
   
   
		
	}
}

led.c

/* Includes ------------------------------------------------------------------*/
#include "led.h"


void hardware_init_all(void)
{
   
   
	
	//时钟频率结构体变量存放不同片上时钟的频率
  RCC_ClocksTypeDef RCC_Clocks;
	
  /*!< 4 bits for pre-emption priority  //四位抢占优先级
       0 bits for subpriority */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
  
  hardware_init_rcc();
  
  
  //获取时钟频率
  RCC_GetClocksFreq (&RCC_Clocks);
  //HCLK  :提供给AHB总线的时钟,由系统时钟SYSCLK 分频得到,一般不分频,等于系统时钟
  SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值