STM32F103C8T6基础开发教程(HAL库)—LED灯1S周期闪烁

STM32F103C8T6基础开发教程目录

  1. STM32F103C8T6基础开发教程(HAL库)—开发环境配置
  2. STM32F103C8T6基础开发教程(HAL库)—Keil添加注释的快捷键
  3. STM32F103C8T6基础开发教程(HAL库)—点亮第一颗LED灯
  4. STM32F103C8T6基础开发教程(HAL库)—LED灯1S周期闪烁
  5. STM32F103C8T6基础开发教程(HAL库)—LED灯呼吸闪烁
  6. STM32F103C8T6基础开发教程(HAL库)—等级划分LED灯亮度
  7. STM32F103C8T6基础开发教程(HAL库)—按键点亮LED灯
  8. STM32F103C8T6基础开发教程(HAL库)—定时器的使用
  9. STM32F103C8T6基础开发教程(HAL库)—串口发送与接收
  10. STM32F103C8T6基础开发教程(HAL库)—点亮OLED屏幕
  11. STM32F103C8T6基础开发教程(HAL库)—传感器使用
  12. STM32F103C8T6基础开发教程(HAL库)—读写内部FALSH
  13. STM32F103C8T6基础开发教程(HAL库)—LORA点对点通信

STM32F103C8T6基础开发教程(HAL库)—LED灯1S周期闪烁

本节内容

  • LED灯1S周期闪烁

STM32F103C8T6开发板笔者选用笔者团体自行设计的最小系统开发板,以后的章节教程均采用TWRS103B-V1.3作为教学开发板,为了大家更好的快速入门,建议购买支持一下笔者,当然,如果自已手上也有其他STM32F103C68T也可以参考笔者教程进行学习,功能都是一样的!

TWRS103B-V1.3最小系统开发板与传统STM32F103C8T6最小系统开发板区别

TWRSTM32F103C8T6最小系统开发板传统STM32C8T6最小系统开发板
支持USB下载不支持USB下载,需要下载器
PB5自带WS2812可编程RGB彩灯PC13自带可编程普通LED灯
引出PD0、PD1没有引出PD0、PD1
在这里插入图片描述在这里插入图片描述

本节内容要用到的材料

在这里插入图片描述

欢迎进入蒙学长小铺进行采购:淘宝店传送门
本文末尾处提供本节源码下载(免费下载)

1.LED灯1S周期闪烁

1)STM32CubeMX配置

上节已叙述了CubeMX生成工程,编译并烧录HEX文件,本节将不再过多的赘述。

设置PB9为Ouput

在这里插入图片描述

2)Keli5编写代码

上节已叙述了Keli5编写代码过程,编译并烧录HEX文件,本节将不再过多的赘述。

(1)在上节的HAL_GPIO_WritePin函数下面找到HAL_GPIO_WritePin函数,并复制其函数,在while(1)里调用

在这里插入图片描述

(2)在stm32f1xx_hal.c文件的370行代码找到HAL_Delay函数,并复制其函数,在while(1)里调用

在这里插入图片描述

(3)调用如下,第95行,HAL_GPIO_WritePin为电平翻转,其函数有两个参数,第一个参数为要输出的引脚端口,第二个参数为要输出的引脚,第96行,为延时函数,参数为多少,则延时多少毫秒

在这里插入图片描述

(4)编译下载

实验效果

在这里插入图片描述

LED进行1秒周期闪烁,实验完成

  • LED灯1S周期闪烁

本节主要代码

/**
 * Main application entry point.
 */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
	
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
		HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);	//电平翻转,第一个参数为GPIO端口,第二个参数为GPIO引脚
		HAL_Delay(1000);	//延时1秒,此参数为多少则为多少毫秒,1000MS=1S
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

本节需掌握函数

HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);	//电平翻转,第一个参数为GPIO端口,第二个参数为GPIO引脚
HAL_Delay(1000);	//延时1秒,此参数为多少则为多少毫秒,1000MS=1S

本节资源

百度网盘: 本节源码
提取码:RSXC


版权声明:本文为qq_38191568原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。