资源简介
基于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 BOOTLOADER IAP 自动跳转
- TFT LCD 3.5寸驱动程序例程 STM32
- stm32智能寻迹避障小车代码
- 基于STM32的电子琴设计
- 基于stm32f407芯片双ADC多通道开启AD转换
- STM32单片机程序+原理图.rar
- STM32蓝牙+超声波+舵机.rar
- STM32F103C8 例程
- 基于STM32和arduino的MPU9250九轴传感器代
- stm32f103c8t6蓝牙运动控制.zip
- STM32+lcd12864串行方式显示贪吃蛇代码
- STM32综合测试程序4.0寸ILI9486_320X480_8位
- FDC2214测试代码
- TCRT5000红外反射传感器循迹传感器.z
- stm32F103 +nrf24l01 发送程序
- CMT2300A_+_STM32F103RBT6编译通过,未实物
- stm32F103RVT6与vs1003/1053/SD卡做成的MP3
- 串口-Lin通信主、从工程代码.zip
- 基于STM32F103的无感和有感无刷直流电
- 基于stm32的万年历,有液晶显示、阴阳
- 超声波测距stm32
- STM32F103C8T6核心板资料及测试代码.zi
- 2017年电子设计竞赛K题源代码单相用电
- STM32CUEB关于KEIL5、stm32f103c8t6时钟配置
- uCOS-III内核实现与应用开发实战指南—
- STM32L051C8T6_USART1.zip
- STM32F103ZET6_INA226电流采集芯片源码.z
- AD9910驱动+PDF调幅频,ram模式,drg模式
- STM32 LCD12864 -Z小旋.zip
- 基于STM32的步进电机加减速程序
评论
共有 条评论