LL库实现定时器输出4路不同频率pwm(输出比较方法)

2023-05-16

最近有用到定时器的输出功能,可以通过这个功能使1个定时器输出4路不同频率的pwm,这里做一下记录,防止以后自己忘记了。

下面直接看初始化:

这里我是使用定时器1通道1,也就是PA8引脚

有了以上操作之后我们生成代码后还必须要手动添加使能代码:

	LL_TIM_CC_EnableChannel(TIM1,LL_TIM_CHANNEL_CH1);
	LL_TIM_EnableAllOutputs(TIM1);
	LL_TIM_EnableIT_CC1(TIM1);
	LL_TIM_EnableCounter(TIM1);

最后我们还要添加中断执行函数:

void TIM1_CC_IRQHandler(void)
{
  /* USER CODE BEGIN TIM1_CC_IRQn 0 */
		if(LL_TIM_IsActiveFlag_CC1(TIM1) == SET)
	{
		LL_TIM_ClearFlag_CC1(TIM1);
		__IO uint16_t count;
		
		/*获取当前计数*/
		count=LL_TIM_GetCounter(TIM1);
		/*设置比较数值*/
		LL_TIM_OC_SetCompareCH1(TIM1, count + 1000);
	
	
	}
  /* USER CODE END TIM1_CC_IRQn 0 */
  /* USER CODE BEGIN TIM1_CC_IRQn 1 */

  /* USER CODE END TIM1_CC_IRQn 1 */
}

执行的时候寄存器的值:

这里我使能了通道1输出比较和通道1的比较中断,当定时器的计数值和输出比较通道的值相等的时候会进入中断,并且对应的PA8上的引脚电平就会翻转,同时我们在中断里面获取了当前的定时器计数值,然后将这个数值进行累加之后重新放入输出比较寄存器,

在下一次定时器计数值和比较寄存器相等的时候对应的PA8上的引脚电平就又会翻转,从而实现PWM输出。

当然对于高级定时器而言,还需要使能主输出模式LL_TIM_EnableAllOutputs(TIM1);

因为我上面初始化的时候只初始化了通道一,所以只使能了通道1,也只实现了比较通道1的中断函数,如果想4路的话就依次类推就好了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LL库实现定时器输出4路不同频率pwm(输出比较方法) 的相关文章

  • python zero_grad()

    有两种方式直接把模型的参数梯度设成0 xff1a model span class hljs preprocessor zero span grad optimizer span class hljs preprocessor zero s
  • torch.topk

    torch kthvalue input k dim 61 None keepdim 61 False out 61 None gt Tensor LongTensor k xff1a 第k个最小元素 返回第k个最小元素 input k d
  • torch.normal()

    torch normal means std out 61 None 返回一个张量 xff0c 包含从给定参数means std的离散正态分布中抽取随机数 均值means是一个张量 xff0c 包含每个输出元素相关的正态分布的均值 std是
  • 台式机ubuntu18.04 x86_64 简单ROS版本安装及其他库编译

    本教程是用于只安装ros melodic ros base的情况下 xff0c 为了避免安装opencv3 2 xff0c 而只保留一个opencv3 4 10 xff0c 而一步步安装rqt xff0c cv bridge xff0c r
  • ubuntu 当前文件夹 文件个数

    ls l grep 34 34 wc l
  • python [:,::-1]

    In span class hljs number 33 span t 61 np array span class hljs string 1 2 3 4 5 6 7 8 9 span In span class hljs number
  • numpy.floor

    numpy floor x out 61 None where 61 True casting 61 39 same kind 39 order 61 39 K 39 dtype 61 None subok 61 True signatur
  • Perfdog玩转内存泄漏

    背景交代 最近QC同学在跑游戏的过程中发现玩的时间久了游戏会发生闪退 xff0c 经过和开发人员讨论后又搜集了一些信息 xff0c 最后排除了功能性bug的原因 一 判断是否是内存泄露 拿到真机 xff0c USB连接 xff0c 杀掉多余
  • LCD1602知识详解(很详尽的)

    1602液晶知识详解 xff1a 1 1602液晶基础 VSS xff1a 电源地信号引脚 xff1b VDD xff1a 电源信号引脚 xff1b VEE xff1a 液晶对比度调节引脚 xff0c 接0 5V以调节液晶的显示对比度 xf
  • 如何学习嵌入式软件

    什么是嵌入式 xff1f 嵌入式分为广义和狭义两种 广义的嵌入式就是片上系统 system on a chip xff0c 包括单片机 PSOC NIOS Microblaze等 而狭义的嵌入式就是ARM9 cortex A8等特定的跑操作
  • Raspberry Pi 4B 通过 MAVROS 实现从地面站远程连接飞控板

    Raspberry Pi 4B 通过 MAVROS 实现从地面站远程连接飞控板 0x00 为 RPi 刷写系统0x01 启动 Ubuntu0x02 使用 SSH 连接至 RPi0x03 更换软件源0x04 安装桌面环境 xff08 可选 x
  • LeetCode-T97-交错字符串(interleaving-string)

    题目 原题链接 题目描述 xff1a 给定三个字符串 s1 s2 s3 验证 s3 是否是由 s1 和 s2 交错组成的 样例 case1 输入 s1 61 aabcc s2 61 dbbca s3 61 aadbbcbcac 输出 tru
  • LeetCode-T167-两数之和 II - 输入有序数组(two-sum-ii-input-array-is-sorted)

    题目 原题链接 题目描述 xff1a 给定一个已按照升序排列 的有序数组 xff0c 找到两个数使得它们相加之和等于目标数 函数应该返回这两个下标值 index1 和 index2 xff0c 其中 index1 必须小于 index2 说
  • LeetCode-T95-不同的二叉搜索树 II(unique-binary-search-trees-ii)

    题目 题目链接 题目描述 给定一个整数 n xff0c 生成所有由 1 n 为节点所组成的 二叉搜索树 样例 case1 输入 xff1a 3 输出 xff1a 1 null 3 2 3 2 null 1 3 1 null null 2 2
  • 主从机时间同步

    安装 服务器和客户端都安装 sudo apt get install ntpsudo apt get install ntpdate 服务器端 配置文件设置 运行sudo vim etc ntp conf在文件末尾加入如下几行代码 rest
  • 判断两条线段是否相交(三种算法)

    转载于 xff1a http blog csdn net rickliuxiao article details 6259322 算法1 xff1a cpp view plain copy alg 1 struct Point double
  • 朱、刘算法:求最小树形图权值个人理解+个人详解【最小树形图模板】

    什么是最小树形图 xff1f 相信大家如果会过来看这篇文章 xff0c 想必也应该对最小生成树有所了解的 xff0c 最小生成树求的是无向图的一颗生成树的最小权值 我们的最小树形图就是来解决一个有向图的一颗生成树的最小权值 xff0c 对于
  • Floyd最小环算法

    问题描述 xff1a 给你一张无向图 xff0c 定义环为从i出发到达j然后从j返回i并且所有点都只经过一次 xff08 最少为3个点 xff09 xff0c 求所有环当中经过路径最小的环 算法描述 xff1a 首先容易想到的是暴力来枚举环
  • O(1)快速乘

    求两个数相乘超过long long取摸的快速运算O 1 inline long long multi long long x long long y long long mod long long tmp 61 x y long long
  • Android开发简单的2048游戏

    作为一名android渣渣第一次用android写了个简单的小游戏还是模仿网上的视频写的 xff0c xff0c 哎 xff0c xff0c 视频教程链接 写在前面 xff1a 这里我用的IDE是eclipse xff0c 所以对与 And

随机推荐