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

网站h1标签用在哪里微信小程序怎么关闭未成年模式

网站h1标签用在哪里,微信小程序怎么关闭未成年模式,做内贸哪个网站找客户,sql数据库的网站迁移1. 问题背景 客户需要 MCU 输出一组变频的 PWM 波形来控制外围器件#xff0c;并且不同频率脉冲的个数也不同。STM32U5 芯片拥有 TIM1/TIM8 高级定时器#xff0c;还有通用定时器TIM2/TIM3/TIM4/TIM5 以及 TIM15/TIM16/TIM17。TIM 模块中#xff0c;可通过修改 ARR 寄存器的…1. 问题背景 客户需要 MCU 输出一组变频的 PWM 波形来控制外围器件并且不同频率脉冲的个数也不同。STM32U5 芯片拥有 TIM1/TIM8 高级定时器还有通用定时器TIM2/TIM3/TIM4/TIM5 以及 TIM15/TIM16/TIM17。TIM 模块中可通过修改 ARR 寄存器的值来修改 PWM 的频率。如果使用 TIM1/TIM8 或者 TIM15/TIM16/TIM17则可以通过修改 RCR 与 CCR 寄存器来控制脉冲个数及占空比。由于要同时修改多个 TIM 寄存器需要使用 TIM 的 DMA burst 功能来实现此需求。 2. TIM DMA burst STM32 片内部分 TIMER 在产生单个定时器事件情况下可以基于特定硬件机制触发多个 DMA 请求这样产生多个连续的 DMA 传输来实现对多个 TIMER 寄存器的批量访问。 这就是所谓的 TIM DMA burst 功能这里有两个专用寄存器 TIMx_DCR :DBSS : 触发 DMA burst 的事件源DBL : DMA burst 传输个数DBA : DMA burst 传输的 TIM 寄存器基地址索引TIMx_DMAR :TIM DMA Burst 时DMA 访问此寄存器 3. 产生 PWM 本文使用 TIM1 来产生 PWM在 U575 NECLEO 板上测试MCU 主频为 100MHz。 使用两个频率分别对应 TIM 寄存器组的值如下ARR/ RCR/ CCR1 uint32_t pulse1[3] {1000, 2, 500} ; uint32_t pulse2[3] {5000, 1, 2500} ;即输出 3 个 pulse1 的脉冲后再输出 2 个 pulse2 脉冲这样交替输出。 3.1. TIM 与 GPDMA 配置 3.1.1. TIM1 配置 TIM1 配置如下使能寄存器预装载功能。 图1.TIM1 配置 3.1.2. GPDMA 配置 使用 GPDMA 通道 12 的 linked list 模式并配置为循环模式 图2.GPDMA 配置 Linked List 配置中创建一个 list queue并添加两个 list node选择 GPDMA 来执行此 list queue同样配置为循环模式指定循环起始节点为 TN1如下图。 图3.Linked List 配置 Linked List 节点配置中使用 TIM1 update 事件来产生 DMA 请求指定 DMA 目的地址为 TIMx_DMAR 寄存器源地址为 pulse1 数组地址。TN2 只需将 pulse1 修改为 pulse2即可。 图4.Linked List Node 配置 3.1.3. TIMx_DCR 寄存器配置 在 CubeMX 生成代码后添加以下代码将 TIM 与 DMA 通道绑定并配置TIMx_DCR 寄存器 MX_TQ1_Config();/* Link created queue to DMA channel #######################################*/if (HAL_DMAEx_List_LinkQ(handle_GPDMA1_Channel12, TQ1) ! HAL_OK){Error_Handler();}__HAL_LINKDMA(htim1, hdma[TIM_DMA_ID_CC1], handle_GPDMA1_Channel12);__HAL_TIM_ENABLE_DMA(htim1, TIM_DMA_UPDATE);HAL_DMAEx_List_Start_IT(handle_GPDMA1_Channel12);// update 事件触发 DMA burst // 3 个 DMA transfer分别修改 ARR/ RCR/ CCR1 寄存器// TIM 寄存器作为基地址的索引ARR 寄存器索引为 11htim1.Instance-DCR (116) | ((3-1)8) | (110);HAL_TIM_PWM_Start(htim1, TIM_CHANNEL_1);3.1.4. 测试结果 测试结果如下图可以看到两个频率的 PWM 波形交替输出且脉冲个数也符合需求 图5.PWM 波形输出 3.2. TIM 无 RCR 寄存器情况 3.2.1. TIM2/TIM3/TIM4/TIM5 无 RCR 寄存器 当使用的 TIM 无 RCR 寄存器时上述方式无法配置每个频率的 PWM 脉冲个数。而在U5 系列上GPDMA 的 12-15 通道具有 2D 寻址能力同时也有 repeat 功能。利用repeat 特性同样可以实现上述需求下面以 TIM2 为例。 在前面配置基础上使能 DMA 通道的 2D 功能并添加 2D 寻址配置 图6.GPDMA 通道 2D 功能 图7.GPDMA 通道 2D 寻址配置 3.2.2. 配置 TIM2 配置 TIM2 CH1 输出 PWM使用 PA5 引脚 图8.TIM2 配置 3.2.3. 修改代码 在 CubeMX 生成代码后修改 pulse1/pulse2 的值将 TIM2 与 DMA 通道绑定并配置 TIMx_DCR 寄存器这样也可实现两个频率不同脉冲个数 PWM 交替输出的需求。 uint32_t pulse1[3] {1000, 0, 500}; uint32_t pulse2[3] {5000, 0, 2500};MX_TQ1_Config();/* Link created queue to DMA channel #######################################*/if (HAL_DMAEx_List_LinkQ(handle_GPDMA1_Channel12, TQ1) ! HAL_OK){Error_Handler();}__HAL_LINKDMA(htim2, hdma[TIM_DMA_ID_CC1], handle_GPDMA1_Channel12);__HAL_TIM_ENABLE_DMA(htim2, TIM_DMA_UPDATE);HAL_DMAEx_List_Start_IT(handle_GPDMA1_Channel12);// update 事件触发 DMA burst // 3 个 DMA transfer分别修改 ARR/ CCR1 寄存器RCR 寄存器值被忽略// TIM 寄存器作为基地址的索引ARR 寄存器索引为 11htim2.Instance-DCR (116) | ((3-1)8) | (110);HAL_TIM_PWM_Start(htim2, TIM_CHANNEL_1);4. 小结 使用 TIM DMA burst 功能结合 STM32U5 的 GPDMA Linked list 模式及 2D 寻址特性能灵活的输出 PWM 波形满足客户需求。 文档中所用到的工具及版本 1,STM32CubeMX 6.6.1 2,IAR 9.20.2 本文档参考ST官方的《【应用笔记】LAT1202TIMDMAburst输出变频PWM波形》文档。
http://www.pierceye.com/news/490742/

相关文章:

  • 设计类网站模板物流企业网站建设策划书
  • dw建设手机网站永久免费网站推荐
  • 微信官方网站怎么进入自己做网站推广试玩
  • 郑州网站建设老牌公司贵州省城乡建设厅网站材料价
  • 网站建设费是什么上海建设网站公司
  • 怎么查出这个网站是谁做的谷歌首页
  • 桂林网站建设国内crm系统哪家好
  • 网站建设数据库配置查看商标是否被注册官网
  • 关于网站制作做网站用com还是cn好
  • 手机网站支付网站建设 sheji021
  • 兴义网站制作网上开的公司网站打不开
  • 三只松鼠的网站建设理念桐庐营销型网站建设
  • 建设银行网站未响应大理如何做百度的网站
  • 广州建立公司网站多少钱页面跳转不了怎么回事
  • 爱做的小说网站吗百度权重高的发帖网站
  • 做网站的空间费用要多少产品怎么做推广和宣传
  • 商城网站制作明细老牌深圳公司大雨中解散
  • wordpress缩略图设置百度站长工具seo
  • 建站还有前途么食品包装设计规范及包装标准
  • 专门做漫画的网站企业网站改版seo
  • 最新网站建设合同做网站在哪里添加关键词
  • 集团网站开发多少钱做网站不难吧
  • 全总基层组织建设网站百度录入网站
  • 网站建设的实验步骤wordpress linux 建站教程
  • 哪个网站专门做邮轮旅游的加拿大28平台微信
  • 网站设置的用途wordpress 5.1 运行环境
  • 中小企业服务中心网站建设网站域名中文后缀
  • 龙武工会网站怎么做5173游戏交易网站源码
  • 网站建设设计时代创信好海南城乡和住房建设厅网站
  • 大连最好的做网站的公司崇义做网站