CubeMX 的使用实例详细(04.6)- STM32F103的 - 定时器设定 - callback调用 - 实现1S的定时更新LED灯
调用HAL来控制定时器,应该是CubeMX必须走的道路:在CubeMX中需要如何设定?如何利用callback来进行调用?如何计算1S的定时
1 Timer的定时
1.1 CubeMX里面的设定
1.1.1 模式和配置
1.1.2 参数配置
1.1.3 中断设置
中断设置必须打开,才能有中断,从而,才能有中断处理,才有中断回调函数的执行。
2 call back:
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();MX_TIM3_Init();MX_TIM1_Init();MX_TIM4_Init();/* USER CODE BEGIN 2 *//*##-2- Register a callback function #######################################*/if (HAL_TIM_RegisterCallback(&htim1,HAL_TIM_PERIOD_ELAPSED_CB_ID,(pTIM_CallbackTypeDef)HAL_Callback_LED_Blink) != HAL_OK){/* Starting Error */Error_Handler();}// it is not a interrupt timer HAL_TIM_Base_Start(&htim1); // Start timer1 Base 1S/*##-3- Start the TIM Base generation in interrupt mode ####################*/
/* Start Channel1 */
if (HAL_TIM_Base_Start_IT(&htim1) != HAL_OK)
{
/* Starting Error */
Error_Handler();
}
注意,这里我们使用的是TIMER的中断,那么时基的开始函数是:
HAL_TIM_Base_Start_IT
要加IT ,INTERRUPT的后缀,否则是不会来中断的!!!
Call back 函数里面调用GPIO口的设定工作:
void HAL_Callback_LED_Blink(TIM_HandleTypeDef *htim)
{// HAL_GPIO_WritePin(LED_INFO_GPIO_Port, LED_INFO_Pin, GPIO_PIN_SET);HAL_GPIO_TogglePin(LED_INFO_GPIO_Port,LED_INFO_Pin);
}
CubeMX 的使用实例详细(04.6)- STM32F103的 - 定时器设定 - callback调用 - 实现1S的定时更新LED灯相关推荐
- STM32 - CubeMX 的使用实例详细(04.1)- STM32F103的 - 定时器设定详细解释 - PWM波的产生 - 频率占空比的设定 - 软件代码分析
前言:本文详细条例STM32 103定时器的设定 1 定时器简介 中等容量的STM32F103xx增强型系列产品包含1个高级控制定时器.3个普通定时器,以及2个看门 狗定时器和1个系统嘀嗒定时器. 下 ...
- STM32F103 - CubeMX 的使用实例详细(04.5)- STM32F103的 - 定时器设定详细解释 - 定时器相关的HAL接口函数 - 定时器的中断
前言:本文介绍STM32 定时器中断控制的HAL 接口定义: 1 该驱动接口能实现的主要功能: 1.1 有哪些驱动 /** ************************************ ...
- STM32F103 - CubeMX 的使用实例详细(03)- 时钟配置 - 最大72M时钟的设定
1 STM32F103 的时钟树: 从时钟树里面,我们可以看到,最大的时钟周期可以设为72M 2 STM32F103的Cube MX设定 2.1 如果采用内部时钟, 设置最大为64M,如下: 我们发现 ...
- STM32 - CubeMX 的使用实例详细(01)- STM32F103的配置 - GPIO设定
前言,项目需要STMF103的片子做PWM的控制,感觉ST的新版的IDE的配置功能很强大,想用用看. 项目采用的是STM32F103C8T6 1 端口的配置 1.1 MCU选型 MCU框图可以查阅: ...
- STM32 - CubeMX 的使用实例详细(01.1)- ST-LINK V2 的配置
MX很方便,但是,由于自动生成的代码,这样的话,就容易有一些配置冲突,因为选项太多了. ST-LINK V2 的样子: 这个版本应该是国内的简化版本: 管脚配置应该如下: 其实只要连接3根线就可以了 ...
- python爬取大众点评数据_python爬虫实例详细介绍之爬取大众点评的数据
python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python ...
- CAS_SSO单点登录实例详细步骤(转)、Tomcat ssl(https) 配置
CAS_SSO单点登录实例详细步骤(转).Tomcat ssl(https) 配置 博客分类: SSO&CAS&Identity Java.Tomcat 0, 从CAS官网下载最新版本 ...
- python——实例详细弄懂if __name__ == ‘__main__‘用法
前言:在python慢慢学习路中,经常会遇到if __name__ == "__main__",而且会发现不写这句话,代码依旧可以执行.心里就有一百个疑问,通过大神指导,小编终于理 ...
- Lisp:AutoLisp入门、操作编程实例详细攻略
Lisp:AutoLisp入门.操作编程实例详细攻略 目录 AutoLisp入门 1.图文教程 AutoLisp操作 AutoLisp入门 AutoLISP是由Autodesk公司开发的一种LISP程 ...
最新文章
- 人工智能助力北京冬奥会
- 十分钟轻松让你认识Entity Framework 7
- JQuery 名称冲突
- TaskIcon 系统任务栏图标
- ajax中dom,在(jQuery)ajax请求中获取当前脚本DOM对象
- 时间处理总结(二)oracle
- word List25
- 51单片机——LCD1602
- 基于React跑一个简易版九宫格抽奖
- javaScript基础语法1
- windows10强制删除文件_如何恢复按下Shift + DELETE键永久删除的文件和资料夹?
- 利用express启一个server服务
- WinCC数据报表控件
- apdu 移动sim_SIM卡APDU指令
- SG90舵机使用介绍
- 有什么好用的在线图表制作网站吗?试试这个吧
- PHP 中如何正确统计中文字数
- Linux+宝塔安装swoole教程
- php die 跳转,php里or die的常见用法
- win10系统无法加载操作系统且自动恢复失败的解决方案
热门文章
- lua学习之类型与值篇
- JavaScript之BOM基础
- 【WPF学习】第四十七章 WriteableBitmap类
- 函数式编程 -- 纯函数、柯里化函数
- C#LeetCode刷题之#671-二叉树中第二小的节点(Second Minimum Node In a Binary Tree)
- 使用React,TypeScript和Socket.io构建聊天应用
- 工作回报如何影响人的生产力_如何在减少工作的同时提高生产力
- 连续两天高烧_连续工作两天,可以看电视11秒
- 交付方式 saas_扩展和交付SaaS启动的最佳方法
- k8s consul 服务发现_Swoft之服务注册发现Consul服务器配置