当前位置: 首页 > 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.zqtcl.cn/news/490742/

相关文章:

  • 市工商局网站建设情况襄阳网站seo诊断
  • 动漫做那个视频网站单网页网站如何做
  • 企业网站名是什么意思广州公共交易中心
  • 做网站那家好沈阳做网站公司哪家好
  • 现在做一个网站大概多少钱中国住房城乡建设部网站
  • 高端企业网站建设核心秦皇岛网站制作人才招聘
  • 网站制作花多少钱简历模板表格
  • 泰安专业网站开发公司网页设计师常逛网站
  • 百度收录万网空间的网站需要多久推广seo网站
  • 个体工商户可以做网站备案吗微信app下载安装官方版2023
  • 内贸在什么网站做做网站需要提供哪些信息
  • 物流网站怎么做推广网页程序开发语言
  • 静态网站跟动态网站开发的层次
  • 公司购买网站怎么做分录被k掉的网站怎么做才能有收录
  • 网页制作相关网站网络卖货平台有哪些
  • 国内网站都要备案吗快速做网站的软件
  • 遂宁市住房和城乡建设局网站自己的网站怎么做美工
  • 资阳网站建设公司中国菲律宾概念股
  • 网站优化报价wordpress 获取别名
  • 自适应网站如何做mip微信网站公司
  • 网站建设改版升级wordpress 艺术家
  • 百度怎么网站排名python做网站的开发
  • 淘宝 网站建设教程视频北京华夏建设有限公司网站
  • 网站公司的利润中国域名后缀
  • 梁山网站建设电话多语言网站建设
  • 网站建设的摘要做直播网站赚钱吗
  • 网站建设明细报价表模板永久免费云服务器无需注册
  • 扁平化网站设计方案大学生做的美食网站
  • wordpress前台打开速度20秒湖南正规竞价优化公司
  • 深度网营销型网站建设wordpress keywords