调用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灯相关推荐

  1. STM32 - CubeMX 的使用实例详细(04.1)- STM32F103的 - 定时器设定详细解释 - PWM波的产生 - 频率占空比的设定 - 软件代码分析

    前言:本文详细条例STM32 103定时器的设定 1 定时器简介 中等容量的STM32F103xx增强型系列产品包含1个高级控制定时器.3个普通定时器,以及2个看门 狗定时器和1个系统嘀嗒定时器. 下 ...

  2. STM32F103 - CubeMX 的使用实例详细(04.5)- STM32F103的 - 定时器设定详细解释 - 定时器相关的HAL接口函数 - 定时器的中断

    前言:本文介绍STM32 定时器中断控制的HAL 接口定义: 1 该驱动接口能实现的主要功能: 1.1 有哪些驱动 /**   ************************************ ...

  3. STM32F103 - CubeMX 的使用实例详细(03)- 时钟配置 - 最大72M时钟的设定

    1 STM32F103 的时钟树: 从时钟树里面,我们可以看到,最大的时钟周期可以设为72M 2 STM32F103的Cube MX设定 2.1 如果采用内部时钟, 设置最大为64M,如下: 我们发现 ...

  4. STM32 - CubeMX 的使用实例详细(01)- STM32F103的配置 - GPIO设定

    前言,项目需要STMF103的片子做PWM的控制,感觉ST的新版的IDE的配置功能很强大,想用用看. 项目采用的是STM32F103C8T6 1 端口的配置 1.1 MCU选型 MCU框图可以查阅: ...

  5. STM32 - CubeMX 的使用实例详细(01.1)- ST-LINK V2 的配置

    MX很方便,但是,由于自动生成的代码,这样的话,就容易有一些配置冲突,因为选项太多了. ST-LINK V2 的样子: 这个版本应该是国内的简化版本: 管脚配置应该如下: 其实只要连接3根线就可以了 ...

  6. python爬取大众点评数据_python爬虫实例详细介绍之爬取大众点评的数据

    python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python ...

  7. CAS_SSO单点登录实例详细步骤(转)、Tomcat ssl(https) 配置

    CAS_SSO单点登录实例详细步骤(转).Tomcat ssl(https) 配置 博客分类: SSO&CAS&Identity Java.Tomcat 0, 从CAS官网下载最新版本 ...

  8. python——实例详细弄懂if __name__ == ‘__main__‘用法

    前言:在python慢慢学习路中,经常会遇到if __name__ == "__main__",而且会发现不写这句话,代码依旧可以执行.心里就有一百个疑问,通过大神指导,小编终于理 ...

  9. Lisp:AutoLisp入门、操作编程实例详细攻略

    Lisp:AutoLisp入门.操作编程实例详细攻略 目录 AutoLisp入门 1.图文教程 AutoLisp操作 AutoLisp入门 AutoLISP是由Autodesk公司开发的一种LISP程 ...

最新文章

  1. 人工智能助力北京冬奥会
  2. 十分钟轻松让你认识Entity Framework 7
  3. JQuery 名称冲突
  4. TaskIcon 系统任务栏图标
  5. ajax中dom,在(jQuery)ajax请求中获取当前脚本DOM对象
  6. 时间处理总结(二)oracle
  7. word List25
  8. 51单片机——LCD1602
  9. 基于React跑一个简易版九宫格抽奖
  10. javaScript基础语法1
  11. windows10强制删除文件_如何恢复按下Shift + DELETE键永久删除的文件和资料夹?
  12. 利用express启一个server服务
  13. WinCC数据报表控件
  14. apdu 移动sim_SIM卡APDU指令
  15. SG90舵机使用介绍
  16. 有什么好用的在线图表制作网站吗?试试这个吧
  17. PHP 中如何正确统计中文字数
  18. Linux+宝塔安装swoole教程
  19. php die 跳转,php里or die的常见用法
  20. win10系统无法加载操作系统且自动恢复失败的解决方案

热门文章

  1. lua学习之类型与值篇
  2. JavaScript之BOM基础
  3. 【WPF学习】第四十七章 WriteableBitmap类
  4. 函数式编程 -- 纯函数、柯里化函数
  5. C#LeetCode刷题之#671-二叉树中第二小的节点(Second Minimum Node In a Binary Tree)
  6. 使用React,TypeScript和Socket.io构建聊天应用
  7. 工作回报如何影响人的生产力_如何在减少工作的同时提高生产力
  8. 连续两天高烧_连续工作两天,可以看电视11秒
  9. 交付方式 saas_扩展和交付SaaS启动的最佳方法
  10. k8s consul 服务发现_Swoft之服务注册发现Consul服务器配置