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

STM32F407-14.3.9-01输出比较模式

输出比较模式
此功能用于控制输出波形,或指示已经过某一时间段。
当捕获/比较寄存器与计数器之间相匹配时,输出比较功能:
●    将为相应的输出引脚分配一个可编程值,该值由输出比较模式(TIMx_CCMRx 寄存器中的 OCxM⑦ 位)和输出极性(TIMx_CCER 寄存器中的 CCxP⑨ 位)定义。匹配时,输出引脚既可保持其电平 (OCxM=000)⑦,也可设置为有效电平 (OCxM=001)、无效电平(OCxM=010) 或进行翻转 (OCxM=011)。
●    将中断状态寄存器中的标志置 1(TIMx_SR 寄存器中的 CCxIF⑬ 位)。
●    如果相应中断使能位(TIMx_DIER 寄存器中的 CCXIE⑭ 位)置 1,将生成中断。
●    如果相应 DMA 使能位(TIMx_DIER 寄存器的 CCxDE⑮ 位,TIMx_CR2 寄存器的 CCDS⑯ 位,用来选择 DMA 请求)置 1,将发送 DMA 请求。
使用 TIMx_CCMRx 寄存器中的 OCxPE⑥ 位,可将 TIMx_CCRx 寄存器配置为带或不带预装载寄存器。
在输出比较模式下,更新事件 UEV⑰ 对 OCxREF⑧ 和 OCx⑩ 输出毫无影响。同步的精度可以达到计数器的一个计数周期。输出比较模式也可用于输出单脉冲(在单脉冲模式下)。

步骤:
1.    选择计数器时钟①(内部、外部、预分频器)。
2.    在 TIMx_ARR③ 和 TIMx_CCRx② 寄存器中写入所需数据。
3.    如果要生成中断请求,则需将 CCxIE⑭ 位置 1。
4.    选择输出模式。例如:
当 CNT 与 CCRx 匹配时,写入 OCxM⑦ = 011 以翻转 OCx⑩ 输出引脚
写入 OCxPE⑥ = 0 以禁止预装载寄存器
写入 CCxP⑨ = 0 以选择高电平有效极性
写入 CCxE⑫ = 1 以使能输出
5.    通过将 TIMx_CR1 寄存器中的 CEN⑱ 位置 1 来使能计数器。
可通过软件随时更新 TIMx_CCRx② 寄存器以控制输出波形,前提是未使能预加载寄存器(OCxPE⑥=“0”,否则仅当发生下一个更新事件 UEV⑰ 时,才会更新 TIMx_CCRx② 影子寄存器)。图 102 给出了一个示例。
----------------------------------------------------------------------------------------------------------------

http://www.lryc.cn/news/255520.html

相关文章:

  • LeetCode题:174. 地下城游戏
  • CSS、JS文件无法正确加载至页面问题与解决
  • ftp的服务安装配置
  • 原码,补码,反码(极简版)
  • uniapp监听wifi连接状态
  • 2023年总结和2024年展望(以ue为主攻)
  • 南京大学计算机学院面试准备
  • API成批分配漏洞介绍与解决方案
  • 跨网文件摆渡系统:安全、可控的数字传输桥梁
  • 线程池的原理和基本使用~
  • PyTorch2.0环境搭建
  • figma 基础使用 —— 常用方法
  • linux rsync 和scp区别
  • mac如何永久设置环境变量
  • 小程序一键生成工具哪个好?
  • Ubuntu环境下使用nginx实现强制下载静态资源
  • 苹果 macOS 14.1.2 正式发布 更新了哪些内容?
  • 【网络编程】-- 02 端口、通信协议
  • 数字发射链路噪声系数核算方法、实例与matlab程序
  • SQL数据库知识点总结归纳
  • Linux C语言 39-进程间通信IPC之管道
  • python pandas dataframe常用数据处理总结
  • excel做预测的方法集合
  • 12月8日作业
  • RefCell 数据类型
  • [oeasy]python0002_终端_CLI_GUI_编程环境_游戏_真实_元宇宙
  • 微服务1 springcloud学习笔记P1-P40
  • 【页面】表格展示
  • 天池SQL训练营(六)-综合练习题-10道经典题目
  • 某校园报名sign解密