资源简介
基于STM32 HAL库的定时任务调度器例程。
详情可以搜索博文《使用HAL库开发STM32(基于F4):系统时间基础及进阶使用》。
详情可以搜索博文《使用HAL库开发STM32(基于F4):系统时间基础及进阶使用》。

代码片段和文件信息
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* © Copyright (c) 2019 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license
* the “License“; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include “main.h“
#include “lib_ticker.h“
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
LibTicker task1 task2; // 声明两个对象
int flag = 0;
void task1callback(int num) {
if (flag) {
flag = 0;
} else {
flag = num;
}
}
int main(void) {
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
task1.attach(500 task1callback 233); // task1以500毫秒为间隔执行task1callback(233);
task2.once(4000 [] {task1.detach();}); // task2在4000毫秒后运行一次,停止task1的工作
while (1) {
LibTicker::handle(); // 执行已就绪的任务
}
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void) {
RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };
RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 };
/** Configure the main internal regulator output voltage
*/
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
/** Initializes the CPU AHB and APB busses clocks
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
Error_Handler();
}
/** Initializes the CPU AHB and APB busses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct FLASH_LATENCY_0) != HAL_OK) {
Error_Handler();
}
}
/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/
static void MX_GPIO_Init(void) {
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-10-24 11:41 stm32f405ticker\
文件 31704 2019-10-24 11:38 stm32f405ticker\.cproject
文件 6701 2019-10-24 11:38 stm32f405ticker\.mxproject
文件 1354 2019-10-24 11:38 stm32f405ticker\.project
目录 0 2019-10-24 10:20 stm32f405ticker\.settings\
文件 2373 2019-10-24 10:20 stm32f405ticker\.settings\language.settings.xm
目录 0 2019-10-24 10:20 stm32f405ticker\Core\
目录 0 2019-10-24 10:21 stm32f405ticker\Core\Inc\
文件 2181 2019-10-24 10:21 stm32f405ticker\Core\Inc\main.h
文件 16367 2019-10-24 10:21 stm32f405ticker\Core\Inc\stm32f4xx_hal_conf.h
文件 2107 2019-10-24 10:21 stm32f405ticker\Core\Inc\stm32f4xx_it.h
目录 0 2019-10-24 10:28 stm32f405ticker\Core\Src\
文件 3957 2019-10-24 11:28 stm32f405ticker\Core\Src\main.cpp
文件 2432 2019-10-24 10:21 stm32f405ticker\Core\Src\stm32f4xx_hal_msp.c
文件 5567 2019-10-24 10:21 stm32f405ticker\Core\Src\stm32f4xx_it.c
文件 4058 2019-10-24 10:20 stm32f405ticker\Core\Src\syscalls.c
文件 2851 2019-10-24 10:20 stm32f405ticker\Core\Src\sysmem.c
文件 28181 2019-07-23 14:39 stm32f405ticker\Core\Src\system_stm32f4xx.c
目录 0 2019-10-24 10:20 stm32f405ticker\Core\Startup\
文件 24466 2019-07-23 14:39 stm32f405ticker\Core\Startup\startup_stm32f405rgtx.s
目录 0 2019-10-24 11:41 stm32f405ticker\Debug\
目录 0 2019-10-24 11:41 stm32f405ticker\Debug\Core\
目录 0 2019-10-24 11:41 stm32f405ticker\Debug\Core\Src\
文件 3007 2019-10-24 11:41 stm32f405ticker\Debug\Core\Src\main.d
文件 987964 2019-10-24 11:41 stm32f405ticker\Debug\Core\Src\main.o
文件 726 2019-10-24 11:41 stm32f405ticker\Debug\Core\Src\main.su
文件 2983 2019-10-24 11:41 stm32f405ticker\Debug\Core\Src\stm32f4xx_hal_msp.d
文件 975744 2019-10-24 11:41 stm32f405ticker\Debug\Core\Src\stm32f4xx_hal_msp.o
文件 48 2019-10-24 11:41 stm32f405ticker\Debug\Core\Src\stm32f4xx_hal_msp.su
文件 3035 2019-10-24 11:41 stm32f405ticker\Debug\Core\Src\stm32f4xx_it.d
文件 977076 2019-10-24 11:41 stm32f405ticker\Debug\Core\Src\stm32f4xx_it.o
............此处省略151个文件信息
- 上一篇:最优化方法及其应用
- 下一篇:华北电力大学高电压技术ppt.pdf
相关资源
- stm32做的红外遥控解码程序
- 《emwin实战指南(基于STM32-ISO开发板)
- Beginning STM32: Developing with FreeRTOS libo
- stm32f103c8t6_sch.Lib
- ALIENTEK战舰STM32F1 V3开发板原理图.rar
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
评论
共有 条评论