STM32F103C8T6基础开发教程目录
- STM32F103C8T6基础开发教程(HAL库)—开发环境配置
- STM32F103C8T6基础开发教程(HAL库)—Keil添加注释的快捷键
- STM32F103C8T6基础开发教程(HAL库)—点亮第一颗LED灯
- STM32F103C8T6基础开发教程(HAL库)—LED灯1S周期闪烁
- STM32F103C8T6基础开发教程(HAL库)—LED灯呼吸闪烁
- STM32F103C8T6基础开发教程(HAL库)—等级划分LED灯亮度
- STM32F103C8T6基础开发教程(HAL库)—按键点亮LED灯
- STM32F103C8T6基础开发教程(HAL库)—定时器的使用
- STM32F103C8T6基础开发教程(HAL库)—串口发送与接收
- STM32F103C8T6基础开发教程(HAL库)—点亮OLED屏幕
- STM32F103C8T6基础开发教程(HAL库)—传感器使用
- STM32F103C8T6基础开发教程(HAL库)—读写内部FALSH
- 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