首页 > 其他分享 >ch32L103_EVT_定时器TIM1

ch32L103_EVT_定时器TIM1

时间:2025-01-15 15:32:24浏览次数:1  
标签:TimeBaseInitStructure TIM1 INT ch32L103 NVIC TIM InitStructure EVT

参考博文:https://www.cnblogs.com/liaigu/p/17782198.html

在CH32L103EVT开发板的范例TIM_INT中,TIM1_INT_Init函数需要适当修改。

1 主频96MHz,计数时钟预分频器(TIM1_PSC)为16位,取值0~65535,对应TIM_Prescaler。
2 TIM_RepetitionCounter 对应重复计数值寄存器(TIM1_RPTCR)

示例中初始化 TIM1_INT_Init( 200-1, 48000-1); 100ms*TIM_RepetitionCounter(50)=5000ms产生一次中断。
将TIM_RepetitionCounter 改为 0 ,则为100ms产生一次中断。

void TIM1_INT_Init( u16 arr, u16 psc)
{

NVIC_InitTypeDef NVIC_InitStructure={0};
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure={0};

RCC_PB2PeriphClockCmd(RCC_PB2Periph_TIM1, ENABLE );

TIM_TimeBaseInitStructure.TIM_Period = arr;                        //重新加载寄存器中的周期值  
TIM_TimeBaseInitStructure.TIM_Prescaler = psc;                     //TIM时钟预分频值0~65535
TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;        //无
TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;    //向上计数模式
TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;               //重复计数值寄存器。达到该计数值后中断。示例中为50,此处改为0。
TIM_TimeBaseInit( TIM1, &TIM_TimeBaseInitStructure);

TIM_ClearITPendingBit( TIM1, TIM_IT_Update );

NVIC_InitStructure.NVIC_IRQChannel =TIM1_UP_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =0;            //
NVIC_InitStructure.NVIC_IRQChannelSubPriority =1;                   //
NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE;
NVIC_Init(&NVIC_InitStructure);

TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);

}

标签:TimeBaseInitStructure,TIM1,INT,ch32L103,NVIC,TIM,InitStructure,EVT
From: https://www.cnblogs.com/GuanshuiWang/p/18673129

相关文章

  • Download the Vue Devtools extension for a better development experience/浏览器扩
    文章目录一、引言二、下载相关插件三、浏览器加载插件四、运行代码一、引言在做Vue项目的开发时,我们经常需要在页面上调试,若没有安装vue-devtools插件则肯能有以下报错。DownloadtheVueDevtoolsextensionforabetterdevelopmentexperience:https://githu......
  • wevtutil 是 Windows 操作系统中的一个命令行工具,用于管理和操作事件日志。事件日志是
     wevtutil是Windows操作系统中的一个命令行工具,用于管理和操作事件日志。事件日志是操作系统、应用程序和系统服务等记录的重要信息文件,它们用于存储系统运行时的信息、警告和错误,帮助管理员排查问题和进行故障排除。wevtutil提供了强大的功能来查看、导出、清理、配置和管......
  • 前端调试技巧:从 Console 到 Chrome DevTools 的进阶指南
    作为前端开发者,你可能每天都在和Bug打交道。有时候一个简单的问题可能会耗费几个小时,而掌握正确的调试技巧可以大大提高解决问题的效率。今天,我就来分享一些在实际工作中常用的调试技巧。Console的高级用法除了常见的console.log,Console还有很多强大的功能://1.使......
  • Chrome 132 版本开发者工具(DevTools)更新内容
    Chrome132版本开发者工具(DevTools)更新内容一、使用Gemini调试Network、Source和PerformanceChrome131可以使用Gemini调试CSS,现在可以调试更多模块了与元素面板中的右键菜单类似,要打开AI辅助面板并开始与Gemini的聊天,可以通过以下方式操作:在Network面......
  • chrome跳转新页面自动打开devtools调试工具的方法例子解析
    代码示例:根据您的需求,要在Chrome浏览器中实现跳转新页面时自动打开开发者工具(DevTools),以下是详细的步骤:方法一:设置Chrome开发者工具偏好打开Chrome浏览器。打开开发者工具。您可以通过点击页面右上角的三个点(菜单按钮),选择“更多工具”>“开发者工具”,或者使用快捷键F1......
  • spring-boot-devtools 实现热部署
    1.devtoolsspring为开发者提供了一个名为spring-boot-devtools的模块来使SpringBoot应用支持热部署,提高开发者的开发效率,无需手动重启SpringBoot应用。2.项目搭建本文是采用IDEA搭建的SpringBoot应用,通过spring-boot-devtools配置,可以支持修改java文件会自动重启程......
  • WX小程序DevTocls调试工具hook注入失败解决方案
    !!!此问题只能解决志远大佬开发的工具相信很多小伙伴遇到hook注入失败的情况,如图:遇到这种,首先你先关闭微信,找到你的微信小程序的安装路径C:\Users\自己的用户\AppData\Roaming\Tencent\WeChat\XPlugin\Plugins\RadiumWMPF然后删除该目录的所有文件夹就行此刻你重新打开微信,再......
  • STM32单片机芯片与内部13 TIM-通用定时器TIM2345 高级定时器TIM18-定时计数功能、库函
    目录一、通用定时器库函数工程模板1、TIM_TimeBaseInitTypeDef2、时钟3、初始化4、中断服务函数二、通用定时器库函数API1、初始化封装2、中断服务函数封装三、高级定时器库函数工程模板1、TIM_TimeBaseInitTypeDef2、时钟3、初始化4、中断服务函数四、高级定时......
  • Windows事件日志文件 .evt 和 .evtx 是用于存储和管理系统、应用程序、和安全事件的两
    Windows事件日志文件.evt和.evtx是用于存储和管理系统、应用程序、和安全事件的两种文件格式。它们在Windows操作系统中都起到了记录日志的作用,但有一些关键的差异。以下是.evt和.evtx文件格式的对比表格:特性.evt文件.evtx文件文件扩展名.evt.evtx引入......
  • DevTools 函数使用,获取页面元素
    浏览器控制台使用方法:https://developer.chrome.com/docs/devtools/console/utilities?hl=zh-cn $() 是document.querySelector() 函数的快捷方式;   比如:<inputclass="el-input__inner"type="text"autocomplete="off"placeholder="Plea......