当前位置: 首页 > news >正文

关于dw做网站金坛做网站

关于dw做网站,金坛做网站,徐州cms建站,域名iis网站添加STM32H7开发笔记(2)——H7外设之多路定时器中断 文章目录 STM32H7开发笔记(2)——H7外设之多路定时器中断0.引言1.CubeMX配置2.软件编写 0.引言 本文PC端采用Win11STM32CubeMX4.1.0.0Keil5.24.2的配置,硬件使用STM32H…

STM32H7开发笔记(2)——H7外设之多路定时器中断

文章目录

  • STM32H7开发笔记(2)——H7外设之多路定时器中断
    • 0.引言
    • 1.CubeMX配置
    • 2.软件编写

0.引言

本文PC端采用Win11+STM32CubeMX4.1.0.0+Keil5.24.2的配置,硬件使用STM32H750VBT6最小系统板。

本文实现多路定时器中断。

1.CubeMX配置

打开CubeMX,新建工程,搜索STM32H750VBT6,直接双击芯片即可完成创建。

时钟、Debug、Cortex M7配置部分略,详见STM32H7开发笔记(1)——H7基本配置

为了合理使用芯片资源,在仅需要定时器中断的情况下可以选择没有输入输出通道的定时器(不过说实话这100来个引脚绝对够用,但是还是养成一个好习惯),如TIM6TIM7

image-20241120084832477

查找头文件,看看TIM6挂载在哪个时钟总线上(具体方法:直接在Keil中搜索RCC_APB,搜索范围设为整个Project,然后在宏里找即可):

#define RCC_APB1LLPENR_TIM6LPEN_Pos            (4U)
#define RCC_APB1LLPENR_TIM6LPEN_Msk            (0x1UL << RCC_APB1LLPENR_TIM6LPEN_Pos) /*!< 0x00000010 */
#define RCC_APB1LLPENR_TIM6LPEN                RCC_APB1LLPENR_TIM6LPEN_Msk

在时钟树中看APB1的频率:

image-20241113105823112

因此未分频的TIM6时钟频率为240MHz。定时器的配置如下:

image-20241120085024385

  • Prescaler:预分频系数,设为240-1,则TIM6的时钟频率为1MHz;
  • Counter Mode:计数方式,这个没啥影响;
  • Cunter Period:自动重装载值,设为500-1,则TIM6的中断周期为500us。刚刚PSC设为240-1的好处就是ARR设为T-1,周期就是Tus;
  • auto-reload preload:控制定时器的自动重装载寄存器(ARR)的预装载功能。如果在整个工程的运行过程中,ARR的值会被更改,则使能这个寄存器比较好;如果不需要更改,从头到尾的值都不变,那这个就没必要。直接Disable即可;
  • Trigger Event Selection:如果工程中需要使用定时器生成触发事件来启动其他外设,则需要配置。直接Reset即可;

然后配置中断,点到NVIC Settings,勾选Enable即可:

image-20241120085725028

同理,配置TIM7

image-20241120085605212

NVIC选项卡中统一配置优先级:

image-20241120085839305

左上角Priority Group配置中断优先级分组,然后点击优先级,即可在下拉栏里改变:

image-20241120090027875

2.软件编写

在CubeMX生成的代码中,以TIM6为例,包括设置定时器参数、设置定时器中断参数、编写中断服务函数,还包括初始化定时器。需要自行编写的部分包括启动定时器中断、编写中断回调函数。启动定时器中断要放在MX_TIM6_Init();之后,while(1)之前:

int main(void)
{HAL_Init();SystemClock_Config();//......delay_init(480);MX_GPIO_Init();MX_TIM6_Init();MX_TIM7_Init();//......HAL_TIM_Base_Start_IT(&htim6);HAL_TIM_Base_Start_IT(&htim7);while (1){}
}

中断回调函数放在自己创建的.c文件中:

// 定时器中断回调函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{if (htim->Instance == TIM6)			//300us{// 在这里处理定时器中断事件}if (htim->Instance == TIM7)			//50us{// 在这里处理定时器中断事件}
}

http://www.yayakq.cn/news/890980/

相关文章:

  • 专做女裤有哪些网站备案个人网站名称推荐
  • 重庆平台网站建设哪里好南昌制作网站的公司哪家好
  • 制作单页网站网站漏洞有哪些
  • 网站开发合同 附件上海公司名义买房条件
  • c2c模式类型有哪些网站优化要多少钱
  • 住房和城乡建设网站方案网站设计板块
  • 做网站需要跟客户了解什么软件wordpress文件结构详解
  • 火锅自助餐网站建设WordPress添加ftp
  • 苏州微信网站建设丹阳网站建设方案
  • 个人网站建设方法和过程小红书推广价目表
  • 南京网站南京网站开发云图书馆平台网站建设方案
  • 商务网站建设与维护课程宜昌seo优化服务
  • 协会网站建设及维护给企业做网站挣钱吗
  • 做电影网站步骤网站建设流程所用工具
  • 杭州最新新闻江门网站优化快速排名
  • 常州网站建设 个人遵义市建设厅网站
  • 桂林的网站建设公司淘宝客导购网站 丢单
  • 做照片书的模板下载网站好wordpress+视频站模版
  • 免费的开源网站应届生招聘去哪个网站
  • gui界面设计软件专业seo排名优化费用
  • 农业公司怎样建立网站网页设计图片位置代码
  • 蚌埠哪有做网站的创意网红
  • 网站添加js广告位企业网络架构拓扑图
  • 网站推广分析wordpress首页仅导航怎么设置
  • 手机网站弹出提示框偷dede网站模板
  • 建设干部培训中心网站国内外html5网站建设状况
  • 网站平台怎么推广加强网站建设和信息公开
  • 设计网站推荐外网如何自己搭建一个个人网站
  • 宣武网站开发WordPress修改用户IP插件
  • 网站建设的基本流程和步骤单位做网站有哪些