一、硬件原理图及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);

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

被折叠的 条评论
为什么被折叠?



