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

stm32之测量周期

#include "tim4.h"void TIM4_Init(void)
{// 开启时钟RCC->APB1ENR |= RCC_APB1ENR_TIM4EN;RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; // 使用 TIM4 的 GPIOB 时钟// 配置 PB6 为浮空输入 CNF 01 MODE 00GPIOB->CRL &= ~GPIO_CRL_MODE6;GPIOB->CRL &= ~GPIO_CRL_CNF6_1;GPIOB->CRL |= GPIO_CRL_CNF6_0; // 浮空输入// 定时器时基部分// 预分频71TIM4->PSC = 71;// 自动重装载值 1000TIM4->ARR = 65535; // 65535 是最大值,计数到这个值后会重装载// 向上计数TIM4->CR1 &= ~TIM_CR1_DIR;// TI1输入选择直通TIM4->CR2 &= ~TIM_CR2_TI1S; // 输入滤波器TIM4->CCMR1 &= ~TIM_CCMR1_IC1F; // 无滤波// 配置边沿检测器极性上升沿触发TIM4->CCER &= ~TIM_CCER_CC1P;// 选择通道1的输入映射为TI1TIM4->CCMR1 &= ~TIM_CCMR1_CC1S; // 清除 CC1S 位TIM4->CCMR1 |= TIM_CCMR1_CC1S_0; // 预分频器TIM4->CCMR1 &= ~TIM_CCMR1_IC1PSC; // 无预分频// 使能通道1输入TIM4->CCER |= TIM_CCER_CC1E;// 开启输入捕获中断使能TIM4->DIER |= TIM_DIER_CC1IE;// 配置 NVICNVIC_SetPriorityGrouping(3); // 设置中断分组NVIC_SetPriority(TIM4_IRQn, 3); // 设置 TIM4 中断优先级NVIC_EnableIRQ(TIM4_IRQn); // 使能 TIM4 中断
}void TIM4_START(void)
{TIM4->CR1 |= TIM_CR1_CEN; // 启动定时器
}void TIM4
http://www.lqws.cn/news/572779.html

相关文章:

  • WPF学习笔记(13)列表框控件ListBox与数据模板
  • 开发中bs,cs都是什么意思
  • 视频跳帧播放器设计与实现
  • [Linux] PXE
  • HttpServletRequest
  • OpenCV 4.10.0 移植
  • Spring Cloud:服务监控与追踪的高级实践
  • C++ 第四阶段 STL 容器 - 第一讲:详解 std::vector
  • 5 c++核心——文件操作
  • restful规范
  • Oauth2 自定义设置token过期时间
  • HarmonyOS 公共事件机制介绍以及多进程之间的通信实现(9000字详解)
  • 【网络】:DNS协议、ICMP协议、NAT技术
  • MongoDB06 - MongoDB 地理空间
  • vllm部署私有智谱大模型
  • 疏通经脉: Bridge 联通逻辑层和渲染层
  • 模拟多维物理过程与基于云的数值分析-AI云计算数值分析和代码验证
  • 生物实验室安全、化学品安全
  • 【notes2】并发,IO,内存
  • 30套精品论文答辩开题报告PPT模版
  • Gemini cli Quickstart
  • 数据结构复习4
  • 常用指令合集(DOS/Linux/git/Maven等)
  • debug的计算表达式
  • 《平行宇宙思维如何让前端错误处理无懈可击》
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 20(题目+回答)
  • 各种常用的串口助手工具分享
  • 第10篇 图像语义分割和目标检测介绍
  • 循环神经网络的概念和案例
  • 带读YOLOv13,HyperACE | FullPAD到底是什么