很简单点亮板载LED---以STM32F103C8为例

对于小白先走第一步熟悉相关环境配置,代码编译和下载,点亮LED就为成功。
但网上stm32资料较为复杂,按教程去实践易出错,容易怀疑自己怀疑自己的PCB有问题,姑需要最简单最小干扰去实现LED点亮。

准备硬件:1、STM32f103c8t6,2、st-link v2。淘宝加一起不超过50元,原来价格更便宜,只有十几块一个。

以下为具体步骤
1.在STM32CubeMX新建项目,作用是建立code环境及依赖库。
开发板是外接8M晶振,通过PLL的倍率和分频,提高系统时钟至最高的72Mhz
在这里插入图片描述
使能了外部时钟,选中RCC,选时钟源选外部晶振
在这里插入图片描述
进入Clock Configuration来配置系统的时钟源为外部时钟和设置各个外设时钟频率。我的开发板是外接8M晶振,通过PLL的倍率和分频,提高系统时钟至最高的72Mhz。
在这里插入图片描述

在这里插入图片描述
在主界面选择File–>New Project ,点击ACCEE TO MCU SELECTO

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
SYS 配置:下载和调试程序的时候会用SWD模式,SYS的Debug选择Serial Wire
在这里插入图片描述
点击如上图中PC13引脚,选择GPIO_Output配置为输出模式。

以上设置完成后,选generate code在选择open project后再MDTv5编写code。

2.在MDT程序上,编译链接生成hex文件,将其烧录到STM32中即可
2.1 看原理图,板载greenLED是Pin13低电平点亮的
在这里插入图片描述

2.2 在int main(void)增加,注释都取消

  while (1)
  {
    /* USER CODE END WHILE */
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); 
	   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
		HAL_Delay(3000);
		HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); 
		HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
		HAL_Delay(1000);
    /* USER CODE BEGIN 3 */
  }

在这里插入图片描述
红色为编译按钮,build output没有出现error和warning就可以用绿色按钮去下载固件。
3.STM32F103连接st-link v2,照着pcb板上的swd的引脚说明,连接到st-link对应的引脚。
在这里插入图片描述
c1电容可不接,vcc接3.3v和GND接地即可。

4.断电重启见代码效果,led灯光就会一闪一闪。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F103C8T6最小系统板是一款常用的单片机开发板,可以通过编程来控制板上的LED点亮。下面是点亮LED的基本步骤: 1. 首先需要准备好开发环境,包括安装好Keil或者其他编译器以及相应的ST-link驱动程序。 2. 在编译器中创建一个新工程,选择STM32F103C8T6单片机型号,并添加LED点亮所需的库文件。 3. 在代码中引用库文件,并进行相应的初始化设置。例如,设置GPIO口为输出模式,初始化LED引脚为高电平(或低电平,根据具体接法而定)。 4. 在主函数中编写LED点亮代码,即将对应的GPIO口设置为低电平(或高电平)即可点亮LED灯。 下面是一个简单的例子代码,仅供参考: ``` #include "stm32f10x.h" //头文件 int main(void) { GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO结构体变量 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能GPIOB时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //设置GPIO口 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置GPIO为推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置GPIO速度 GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化GPIO while (1) //主循环 { GPIO_SetBits(GPIOB, GPIO_Pin_5); //点亮LED } } ``` 注意事项:以上代码中使用的是PB5引脚控制LED,具体控制哪个引脚需要根据自己的实际情况进行修改。另外,由于最小系统板上可能存在其他外设使用了与LED相同的引脚,因此在编写代码前需要先了解清楚板子上各个引脚的功能和使用情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值