STM32CubeMX(Keil5)开发之路——5定时器中断TIM

发布者:温馨如家最新更新时间:2019-06-21 来源: eefocus关键字:STM32CubeMX  Keil5  定时器中断TIM 手机看文章 扫描二维码
随时随地手机看文章

运行环境

Windows10

STM32CubeMX___Version 5.0.0

Keil5(MDK5)___Version 5.15

简介

本例程主要讲解如何使用定时器实现一个定时器中断,每秒打印一串数据


STM32CubeMx基本配置

基础配置过程请参考 STM32CubeMx(Keil5)开发之路—配置第一个项目


为了方便调试,重定向printf,进行usart设置

1——点击USART1进行设置

2——模式选择Asynchronous异步传输

3——可以看到右边自动出现了Tx和Rx

4——可以自行设置波特率,停止位,校验位等参数


1——点击Clock Configuration进行设置

2——注意这几个地方的时钟(后面进行分频设置的时候需要)


点击TIM1进行设置

1——时钟源Clock Source选择Intemal Clock

2——预分频选择36000-1也就是35999(注意16位最大只能表示65535)

3——自动重装载值设置为2000-1也就是1999

讲解:定时器更新中断的频率=时钟频率/(预分频+1)/(自动重装载值+1)

即 :72000000/36000/2000=1(HZ),也就是每秒进一次中断


在NVIC Setting里面勾选TIM1 update interrupt


代码修改

1——选择main.c文件

2——在USER CODE中添加如下代码,重定向printf


int fputc(int ch, FILE *f)

{

    HAL_UART_Transmit(&huart1, (uint8_t *)&ch,1, 0xFFFF);

    return ch;

}


在主函数中添加如下代码启动定时器


重写中断函数,打印"123456",即每秒打印一次


烧录代码后打开出口调试助手,正确的话会看到如下输出


关键字:STM32CubeMX  Keil5  定时器中断TIM 引用地址:STM32CubeMX(Keil5)开发之路——5定时器中断TIM

上一篇:STM32CubeMX(Keil5)开发之路——6外部中断
下一篇:STM32CubeMx(Keil5)开发之路——4采用DMA方式收发数据

推荐阅读最新更新时间:2024-11-17 09:24

STM32CubeMX串口空闲中断加DMA实现不定长度收发数据
这里教程是选择的STM32F407。STM32F103也测试过。 1.首先选择串口,选择异步通信。 2.添加DMA 3.打开中断 4.生成代码,生成代码选择了每个外设单独使用.c/.h 5.我使用的是Keil5。打开工程,首先注释掉dma.c里的DMA接收中断,因为不需要DMA接收中断,DMA发送中断是需要的。(dma.c) void MX_DMA_Init(void) { __HAL_RCC_DMA2_CLK_ENABLE(); HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 2, 0); HAL_NVIC_En
[单片机]
STM32CubeMX+w25qxx
一、w25qxx驱动原理 w25qxx使用spi接口驱动,下面是它的时序图 从图上看,spi有两种配置模式: 1、低电平,第一个边缘; 2、高电平,第二个边缘; 二、stm32CubeMx配置: 三、w25qxx驱动代码: 1、w25qxx.h #ifndef __W25QXX_H__ #define __W25QXX_H__ #include stdbool.h #include spi.h #define SPI_FLASH_PageSize 256 #define SPI_FLASH_PerWritePageSize 256 #define W25X_WriteEnab
[单片机]
STM32CubeMX+w25qxx
STM32CubeMx启动串口调试功能Printf调试
## 概述 项目中往往需要调试信息,调试stm32的时候,需要标准库里面的printf函数。在keil MDK环境下重定向printf与keil C51不同,由于本人使用了STM32CubeMX生成工程模板,HAL_USART_Transmit函数即是模板里串口输出的函数。由于printf最终是调用fputc输出数据,fputc是一个弱引用(weak)函数,覆写即可重定向printf。 代码清单 /* USER CODE BEGIN Includes */ #include FreeRTOS.h #include task.h #include queue.h #include stdio.h /* USER CODE
[单片机]
STM32CubeMX生成F1的工程中提示找不到 __HAL_TIM_SetCompare 问题
1. 问题描述 在用STM32CubeMX生成 STM32F103C8T6 的MDK工程后,在main.c中更改定时器占空比计数值的时候,报错: 总之就是HAL库内部API函数__HAL_TIM_SetCompare找不到。 2. 解决方案 经过搜索,该函数在stm32_hal_legacy.h文件中: 所以出错原因肯定是:调用此函数的时候没有包含进来这个头文件,再次通过文件名查找: 果然,包含此头文件需要定义宏USE_HAL_LEGACY。 在它前面define一下: 重新编译,问题解决成功! 这样添加之后,重新使用STM32CubeMX生成工程后,代码会被自动覆盖,需要重新添加!
[单片机]
<font color='red'>STM32CubeMX</font>生成F1的工程中提示找不到 __HAL_<font color='red'>TIM</font>_SetCompare 问题
STM32CubeMX系列 | 串口通讯
1. 串口简介 在串行通信中,一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束。在进行传输之前,双方一定要使用相同的波特率设置。波特率就是每秒钟传输的数据位数。常用的两种基本串行通信方式包括同步通信和异步通信。我们通常使用的是异步通信,异步通信规定传输的数据格式由起始位(start bit)、数据位(data bit)、奇偶校验位(parity bit)和停止位(stop bit)组成。串口通讯有HAL 库轮询,中断,DMA 三种通信模式: 轮询方式:CPU不断查询IO设备,如设备有请求则加以处理。例如CPU不断查询串口是否传输完成,如传输超过则返回超时错误。轮询方式会
[单片机]
STM32CubeMX学习--(3)串口通信
Cube配置 USART配置 在Connectivity中选中USART1 MODE = Asynchronous Hardware Flow Control = Disable Parameter Settings中配置 Baud Rate = 115200 Word Length = 8bit Parity = None Stop Bits =1 Data Direction = Receive and Transmit Over Sampling = 16 Samples NVIC Setting 勾选Enable,Preemption Priority =2 生成代码 修改代码 生成代码后,即可使用 HAL_UART_Tr
[单片机]
基于STM32CUBEMX驱动TOF模块VL6180与VL6180X(1)----单模块距离获取的最佳实践
概述 VL6180X是基于ST FlightSense™专利技术的最新产品。作为一项突破性技术,它实现了独立于目标反射率的绝对距离测量。传统的测量方法通过测量反射光的光量来估算距离,然而这种方法存在一个主要缺点,即被测物体的颜色和表面特性对测量精度产生很大影响。VL6180X采用了一种全新的方法,它精确测量了光线从传感器照射到最近物体,并在反射回传感器所需的时间(即飞行时间),从而准确计算出两者之间的距离。 VL6180X模块集成了一个红外发射器、一个红外传感器和一个环境光传感器,全部封装在一个便于集成的三合一回流焊封装中。这种设计使终端产品制造商能够减少光学和机械设计的优化过程,并降低相关成本。 该模块具备低功耗操作的特点。
[单片机]
基于<font color='red'>STM32CUBEMX</font>驱动TOF模块VL6180与VL6180X(1)----单模块距离获取的最佳实践
什么是STM32CubeMX?(STM32代码生成器)
一、STM32CubeMX 介绍 STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,通过自己对硬件的需要,进行选择,而后可以快速生成代码,减少开发人员的开发难度,时间和花销。STM32 覆盖整个STM32系列。 在我看来有如下优点: 大量的芯片(资源,价格介绍),方便对我们进行芯片选型 除了拥有芯片本身的外设选择外,还拥有一系列的中间件,如 RTOS, USB, TCP/IP等 对芯片的整体资源,以及时钟树有更深刻的认识 快速代码生成(对外设进行初始化),方便我们对我们的想法进行验证与开发 工程也可以进行更新(当增加外设时) 下面我们详细介绍一下以上优点:
[单片机]
什么是<font color='red'>STM32CubeMX</font>?(STM32代码生成器)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved