0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用带定时器的中断

454398 来源:工程师吴畏 2019-09-04 17:17 次阅读

步骤1:在STM32CubeMX中创建项目

如何使用带定时器的中断

打开STM32CubeMX。点击“新建项目”。从系列选择‘STMF1’,从‘线’选择STM32F103。从MCU列表中,选择“STM32F103RBTx”。单击“确定”。

[1]

现在,需要完成两件事。首先,在STM32板上显示的STM32微控制器上,单击“PA5”并选择“GPIO_Output”。其次,在Peripherals选项卡下的‘TIM1’选项卡下选择‘Internal Clock’作为‘Clock Source’,如图所示:

[2]

现在,切换到配置选项卡。在“控件”下,您将看到“TIM1”按钮。单击它,您将看到如下窗口:

[3]

现在,在此计数器设置下的“参数设置”选项卡(已选中)中选择‘预分频器(PSC) - 16位值)’。在此之前,您将看到一个下拉箭头(在下图中红色箭头指示的位置),点击它。确保选中“十进制”。并将其值从“0”更改为“64000”。

[4]

将计数器模式更改为“关闭”。再次选择Counter Period,单击前面的下拉箭头,确保选中‘Decimal’。现在,将其值更改为1.您的窗口必须如下所示:

[5]

单击“应用”,然后单击“确定”。

现在,在“系统”选项卡下单击“GPIO”按钮。选择“PA5”并在“用户标签”中输入“Ld2”。

现在,在“系统”选项卡下单击“NVIC”按钮。从中断表中选择“TIM1 break interrupt”,启用它并将Preemption Priority设置为“1”。对“TIM更新中断”执行相同操作。因此,现在您的窗口应如下所示:

[6]

现在,单击“生成代码”按钮。项目名称中的Fil,保存项目和“工具链/IDE”的位置选择“MDK-ARM V5”。然后单击“确定”。然后单击“打开项目”。

步骤2:使用Keil进行编程

一旦Project为在Keil中打开,打开位于‘Project/User’文件夹下的‘main.c’,位于‘Project:’下。向下滚动以找到While(1)。就在While(1)之前添加这行代码:

HAL_TIM_Base_Start_IT(&htim1); //start timer1 in interrupt mode.

你的Keil窗口将如下所示:

[7]

现在,在‘main.c’文件附近打开‘STM32Fxx_it.c’。向下滚动以找到‘TIM1_UP_IRQHandler’函数。

在编写以下代码行时:

static uint32_t counter = 0;

if (counter 》= 500)

{

HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);

counter = 0;

}

counter++;

因此您的窗口将如下所示:

[8]

单击“构建”按钮(或按“F7”)。连接STM32板并单击“加载”按钮(或按“F8”)

步骤3:可视化输出

现在,按‘你’STM32‘板上的黑色’休息按钮。

你看到LED在一段时间后开启和关闭。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 定时器
    +关注

    关注

    23

    文章

    3236

    浏览量

    114413
  • stm32cubemx
    +关注

    关注

    5

    文章

    280

    浏览量

    14739
收藏 人收藏

    评论

    相关推荐

    定时器的基本组成和工作模式

    定时器是计算机或电子设备中常见的一个硬件或软件组件,其主要功能是测量和控制时间的流逝。它在各种应用中起着至关重要的作用,如操作系统调度、多媒体播放、网络通信、工业自动化控制以及家电设备的定时功能等。定时器的工作原理基于时序控制,
    的头像 发表于 08-19 18:28 931次阅读

    定时器的工作方式介绍

    或实现周期性事件的硬件模块。它可以用于实现各种定时任务,如定时中断、PWM(脉冲宽度调制)输出、频率测量等。定时器通常由一个计数、一个时钟源和一个控制寄存
    的头像 发表于 07-12 10:29 694次阅读

    定时器相关的寄存有哪些类型

    在微控制编程中,定时器是一种非常常见的功能模块,用于实现各种定时和计数功能。定时器的工作原理是通过内部的计数来跟踪时间的流逝,当计数
    的头像 发表于 07-12 10:25 726次阅读

    鸿蒙开发系统基础能力:Timer定时器

    设置一个定时器,该定时器定时器到期后执行一个函数。
    的头像 发表于 06-28 11:33 850次阅读
    鸿蒙开发系统基础能力:Timer<b class='flag-5'>定时器</b>

    使用定时器的编码接口模式,打开定时器的溢出中断,当定时器上溢出和下溢出是,是否都会产生溢出中断

    使用定时器的编码接口模式,打开定时器的溢出中断,当定时器上溢出和下溢出是,是否都会产生溢出中断
    发表于 05-24 07:41

    用STM32F103打开了定时器2开定时器中断,关闭就报错 ,定时器如何关闭呢?

    最近用STM32F103打开了定时器2 开定时器中断,开启PA11的中断,在PA11的中断里把定时器
    发表于 05-14 06:52

    如何实现一个软件定时器

    在Linux,uC/OS,FreeRTOS等操作系统中,都带有软件定时器,原理大同小异。典型的实现方法是:通过一个硬件定时器产生固定的时钟节拍,每次硬件定时器中断到,就对一个全局的时间
    的头像 发表于 04-29 11:00 576次阅读

    s7200定时器的五种故障介绍

    定时器或CPU故障:如果定时器本身或PLC的CPU出现故障,也可能导致定时器无法复位。此时,需要检查定时器和CPU的工作状态,确保其正常运行。
    的头像 发表于 04-03 17:08 2151次阅读

    ​PLC定时器介绍

    定时器是PLC中重要的编程元件,是累计时间增量的内部器件。大部分自动控制领域都需要定时器进行延时控制,灵活地使用定时器可以编制出复杂的控制程序。
    发表于 03-22 12:36 2149次阅读
    ​PLC<b class='flag-5'>定时器</b>介绍

    使用555定时器的可调双定时器电路

    定时器 IC 555 是最通用和最常用的 IC 之一,因为它的应用范围更广,如 PWM放大器、延迟定时器、开关电路、占空比选择、时钟脉冲发生等。这也可用于各种应用,如精确
    的头像 发表于 02-25 15:16 1976次阅读
    使用555<b class='flag-5'>定时器</b>的可调双<b class='flag-5'>定时器</b>电路

    单片机外部中断定时器中断的区别和用法

    单片机外部中断定时器中断在触发来源、应用场景以及功能特点上存在明显差异** **。
    的头像 发表于 01-28 17:35 2835次阅读

    定时器原理能控制马达吗为什么

    定时器原理可以用于控制马达。马达是一种将电能转换为机械能的设备,通常由电动机和传动装置组成。定时器是一种电子设备,用来生成和计时精确而稳定的时间信号。通过将定时器与马达控制电路相连,可以实现对马达
    的头像 发表于 01-23 15:21 603次阅读

    单片机定时器的用法

    本章以CW32通用定时器为例介绍单片机定时器的用法。
    的头像 发表于 01-04 10:37 1335次阅读
    单片机<b class='flag-5'>定时器</b>的用法

    51单片机定时器定时1秒程序流水灯结果分析

    流水灯的设计原理、实现步骤和结果分析。 一、设计原理 在51单片机中,定时器常用的工作方式有两种:定时器模式和计数模式。定时器模式是指定时器
    的头像 发表于 12-26 14:57 6498次阅读

    定时器会阻塞线程吗 定时器指令有哪几种

    定时器会阻塞线程吗 定时器指令有哪几种  定时器一般不会阻塞线程,但具体是否会阻塞取决于所使用的定时器实现方式和使用方式。 定时器指令可以分
    的头像 发表于 12-19 14:03 882次阅读