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

济南金融行业网站开发万网 网站建设方案书范文

济南金融行业网站开发,万网 网站建设方案书范文,企业网络的构建与实施,广州建设工程网目录 概述 1 STM32定时器介绍 1.1 认识通用定时器 1.2 通用定时器的特征 1.3 递增计数模式 1.4 时钟选择 2 STM32Cube配置定时器时钟 2.1 配置定时器参数 2.2 配置定时器时钟 3 STM32H7定时器使用 3.1 认识定时器的数据结构 3.2 计数功能实现 4 测试案例 4.1 代码…目录 概述 1 STM32定时器介绍 1.1 认识通用定时器 1.2 通用定时器的特征 1.3 递增计数模式 1.4 时钟选择 2 STM32Cube配置定时器时钟 2.1 配置定时器参数 2.2 配置定时器时钟 3 STM32H7定时器使用 3.1 认识定时器的数据结构 3.2 计数功能实现 4 测试案例 4.1 代码实现 4.2 验证 概述 本文主要介绍STM32H7通用性定时器计数功能的用法笔者以TIM2定时器为例介绍如何通过配置参数实现定制化时钟的需求。 1 STM32定时器介绍 1.1 认识通用定时器 STM32H7的通用定时器包括TIM2/TIM3/TIM4/TIM5通用定时器包含一个 16 位或 32 位自动重载计数器该计数器由可编程预分频器驱动。它们可用于多种用途包括测量输入信号的脉冲宽度 输入捕获或生成输出波形 输出比较和 PWM。使用定时器预分频器和 RCC 时钟控制器预分频器可将脉冲宽度和波形周期从几微秒调制到几毫秒。 1.2 通用定时器的特征 通用 TIMx 定时器具有以下特性 1 16 位 TIM3 和 TIM4或 32 位 TIM2 和 TIM5递增、递减和递增/递减自动重载计数器 216 位可编程预分频器用于对计数器时钟频率进行分频可在运行时修改分频系数介于 1        到 65535 之间。 3多达 4 个独立通道可用于       – 输入捕获       – 输出比较       – PWM 生成边沿和中心对齐模式       – 单脉冲模式输出 4使用外部信号控制定时器且可实现多个定时器互连的同步电路。 5发生如下事件时生成中断/DMA 请求       – 更新计数器上溢/下溢、计数器初始化通过软件或内部/外部触发       – 触发事件计数器启动、停止、初始化或通过内部/外部触发计数       – 输入捕获       – 输出比较 6支持定位用增量正交编码器和霍尔传感器电路 7触发输入用作外部时钟或逐周期电流管理 1.3 递增计数模式 在递增计数模式下计数器从 0 计数到自动重载值 TIMx_ARR 寄存器的内容然后重新从 0 开始计数并生成计数器上溢事件。每次发生计数器上溢时会生成更新事件或将 TIMx_EGR 寄存器中的 UG 位置 1通过软件或使用从模式控制器也可以生成更新事件。 通过软件将 TIMx_CR1 寄存器中的 UDIS 位置 1 可禁止 UEV 事件。这可避免向预装载寄存器写入新值时更新影子寄存器。在 UDIS 位写入 0 之前不会产生任何更新事件。不过计数器和预分频器计数器都会重新从 0 开始计数而预分频比保持不变。此外如果 TIMx_CR1寄存器中的 URS 位更新请求选择已置 1则将 UG 位置 1 会生成更新事件 UEV但不会将 UIF 标志置 1因此不会发送任何中断或 DMA 请求。这样一来如果在发生捕获事件时将计数器清零将不会同时产生更新中断和捕获中断。发生更新事件时将更新所有寄存器且将更新标志 TIMx_SR 寄存器中的 UIF 位置 1取决于 URS 位 1预分频器的缓冲区中将重新装载预装载值 TIMx_PSC 寄存器的内容 2使用预装载值 (TIMx_ARR) 更新自动重载影子寄存器 以下各图以一些示例说明当 TIMx_ARR0x36 时不同时钟频率下计数器的行为。 1.4 时钟选择 计数器时钟可由下列时钟源提供 1内部时钟 (CK_INT) 2外部时钟模式 1外部输入引脚 (TIx) 3外部时钟模式 2外部触发输入 (ETR) 4外部触发输入 (ITRx)使用一个定时器作为另一定时器的预分频器例如可将定时器13 配置为定时器 2 的预分频器。 2 STM32Cube配置定时器时钟 2.1 配置定时器参数 笔者使用STM32H7 的通用定时器TIM2作为案例介绍通用定时器的用法 2.2 配置定时器时钟 定时器的base时钟配置能为200M Hz 配置完成后就可以生成工程代码。 3 STM32H7定时器使用 3.1 认识定时器的数据结构 参数介绍 参数名说明Prescaler预分频系数CounterMode计数方式Period自动装载值ClockDivision时钟分频因子RepetitionCounter重复计数器的值AutoReloadPreload自动重载使能 3.2 计数功能实现 代码第44行Prescaler 199 由于定时器的base时钟为200M Hz, 此时定时器的计数时钟为 f    1M Hz 代码第45行配置up计数模式 代码第46行Period 49按照1M Hz计数当计数个数达到50个时产生一次中断 代码第47行不分频base时钟 代码第48行自动重载计数使能 4 测试案例 通过配置定时器的参数实现1ms周期计数 4.1 代码实现 代码参数配置如下 /* TIM2 init function */ void MX_TIM2_Init(void) {/* USER CODE BEGIN TIM2_Init 0 *//* USER CODE END TIM2_Init 0 */TIM_ClockConfigTypeDef sClockSourceConfig {0};TIM_MasterConfigTypeDef sMasterConfig {0};/* USER CODE BEGIN TIM2_Init 1 *//* USER CODE END TIM2_Init 1 */htim2.Instance TIM2;htim2.Init.Prescaler 199;htim2.Init.CounterMode TIM_COUNTERMODE_UP;htim2.Init.Period 499;htim2.Init.ClockDivision TIM_CLOCKDIVISION_DIV1;htim2.Init.AutoReloadPreload TIM_AUTORELOAD_PRELOAD_ENABLE;if (HAL_TIM_Base_Init(htim2) ! HAL_OK){Error_Handler();}sClockSourceConfig.ClockSource TIM_CLOCKSOURCE_INTERNAL;if (HAL_TIM_ConfigClockSource(htim2, sClockSourceConfig) ! HAL_OK){Error_Handler();}sMasterConfig.MasterOutputTrigger TIM_TRGO_RESET;sMasterConfig.MasterSlaveMode TIM_MASTERSLAVEMODE_DISABLE;if (HAL_TIMEx_MasterConfigSynchronization(htim2, sMasterConfig) ! HAL_OK){Error_Handler();}/* USER CODE BEGIN TIM2_Init 2 */HAL_TIM_Base_Start_IT(htim2);/* USER CODE END TIM2_Init 2 */} 4.2 验证 通过示波器测试波形可得Freq 1K Hz, 周期为T 1ms
http://www.zqtcl.cn/news/852719/

相关文章:

  • 网站建设五项基本原则优化关键词的公司
  • 高端网站的特点p2p网站开发的流程
  • 什么网站做外贸最好坪地网站建设公司
  • 做网站费用怎么核算没有公司 接单做网站
  • 如何建设一个优秀的电商网站wordpress注册去掉电子邮件
  • 站长工具 seo综合查询长沙高校网站制作公司
  • 杭州网站定制开发哪家好wordpress重置
  • 哈尔滨市建设安全网站火车头更新wordpress
  • 做亚马逊外国网站需要语言好吗邢台seo
  • jsp在网站开发中的优势国内哪个推广网站做的好
  • 做网站工资高吗精品资料
  • 做农业需关注什么网站热门代理项目
  • 网站开发公司营业范围照片制作视频软件app
  • 做网站怎么qq邮箱验证免费拥有wordpress
  • 校园网站建设资金来源有wordpress权重
  • 魔站网站开发wordpress 3.3.1
  • 东莞个人免费建网站网站后台管理系统 asp
  • 呼和浩特网站制作 建设wordpress怎么改中文
  • 银医网站建设方案公司网站模板免费下载
  • 优秀网站设计案例中国网站建设东莞公司
  • 自己的公网ip可以做网站网页设计与制作课程思政建设内容
  • 静态网站 搜索搭建织梦网站教程
  • idc 网站备案手机电脑网站建设短视频
  • 做搜狗pc网站优化快速亚马逊云搭建WordPress
  • 免费的建网站软件2020做seo还有出路吗
  • 宁波三优互动网站建设公司怎么样网站建设公司管理流程图
  • 网站内文章外链如何做创新设计
  • 西安做网站公网站做友链有行业要求吗
  • 做现金贷网站的公司软件开发设计文档
  • 数据做图网站表示商业网站的域名