技术标签: stm32 Powered by 金山文档 嵌入式硬件 嵌入式开发 单片机
捕获比较(值)寄存器(x=1,2,3,4):设置比较值。
计数器值与捕获比较寄存器CCR1进行比较,通过比较结果输出有效电平和无效电平 OC1REF=0 无效电平,OC1REF=1 无效电平。
OC1M[2:0]位:对于PWM方式下,用于设置PWM模式1(110)或者PWM模式2(111)。
110:对应STM32CubeMX中PWM模式1: 在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。
111:对应STM32CubeMX中PWM模式2: 在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为有效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电平。
CC1P位,输入/捕获1输出极性。0:高电平有效,1:低电平有效。
CC1E位,输入/捕获1输出使能。0:关闭,1:打开。
由之前的定时器中断实验知道,定时器内部有一个记录定时器当前值的寄存器CNT(对应图中黑线)和一个记录定时器自动重装载值的寄存器ARR(对应图中橘线)。而在PWM工作模式下,我们依然利用这两个定时器来记录时间,不同的是多引入一个寄存器CCRx(对应图中红线),这个寄存器用于控制PWM输出波的有效电平长度(占空比);引入CCMRx寄存器来控制PWM模式(对应PWM是模式1还是2);引入寄存器CCERx:CC1P位控制输出电平极性。
假定定时器工作在向上计数 PWM模式,且当 CNT<CCRx 时,输出 0,当 CNT>=CCRx 时输出 1。当 CNT 达到 ARR 值的时候,重新归零,然后重新向上计数,依次循环。改变 CCRx 的值,就可以改变 PWM 输出的占空比,改变 ARR 的值,就可以改变 PWM 输出的频率。
链接:https://blog.csdn.net/wei348144881/article/details/109091539
STM32——PWM知识详解_stm32pwm_笛卡尔的叹息的博客-程序员宅基地
SystemClock_Config();
MX_GPIO_Init();
MX_TIM3_Init();
void MX_TIM3_Init(void)
{
htim3.Instance = TIM3;
htim3.Init.Prescaler = 720-1;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 500-1;
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
}
HAL_TIM_Base_Start(&htim3);
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);
int i=0;
for(i=0;i<500;i++)
{
__HAL_TIM_SetCompare(&htim3,TIM_CHANNEL_2,i);
//改变占空比,逐渐提高低电平的持续时间
HAL_Delay(1);
}
for(i=500;i>0;i--)
{
__HAL_TIM_SetCompare(&htim3,TIM_CHANNEL_2,i); //改变占空比,逐渐降低低电平的持续时间
HAL_Delay(1);
}
下面给出提升占空比的简易示意图,对应上面的第一个for循环,上面的for循环应该会产生500个这样的渐变。这样就能实现呼吸灯的效果。
此外还有亮度递减的过程,对应上面第二个for循环,图中未画出。
文章浏览阅读734次。对于SPOOL数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句如: select taskindex||'|'||commonindex||'|'||tasktype||'|'||to_number(to_char(sysdate,'YYYYMMDD')) from ssrv_sendsms_task; spool常用的设置 set colsep' '; //域输出分_如何在spool中插入一空行
文章浏览阅读185次。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来..._有效的字母异位词 hashmap
文章浏览阅读693次。以下内容摘自《深入理解计算机网络》海明纠错码海明码(Hamming Code)是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错误通常不是一位。 海明码的检错、纠错基本思想是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶
文章浏览阅读1.9w次,点赞6次,收藏35次。1,关于web弹出层之前做web弹出层,使用的是jqueryui,那个复杂,那个大。 而且样式怪怪的。而且文件很大。关于layerlayer是一款近年来口碑极佳的web弹层组件,她具备全方位的解决方案,致力于服务各水平段的开发人员,您的页面会轻松地拥有丰富友好的操作体验。在与同类组件的比较中,layer总是能轻易获胜。她尽可能地在以更少的代码展现更强健的功能,且格外注重性能的提升
文章浏览阅读517次。1.哪种函数适合定义为内联函数?答:短小的,执行速度快的,占用内存小的适合。还有非递归的 2.假如song()函数的原型如下:void song(const char* name, int times);a.如何修改原型,使times的默认值为1?b.函数定义需要做哪些修改?c.能否为name提供默认值“O.My Papa”? 答:a。 修改成:void son_将box结构的引用
文章浏览阅读641次。目录一 ⨂-克罗内克积1. ⨂:克罗内克积,是张量积的一种特殊形式。2. 举例3. 应用-CNN卷积运算一 ⨂-克罗内克积1. ⨂:克罗内克积,是张量积的一种特殊形式。2. 举例3. 应用-CNN卷积运算X为输入,W为卷积核,Y为输出:..._克罗克内积求旋转矩阵
文章浏览阅读161次。拓扑很简单R1作为DHCP服务器模拟为ISP,R2作为DHCP客户端,作为公司链接ISP的出口按道理来说,这种配置是相当容易的R1的配置R1#conf tR1(config)#int s2/0R1(config-if)#ip add 10.1.1.1 255.255.255.0R1(config-if)#no shR1(config-if)#exitR1(config)#ip..._串口无法开启dhcp
文章浏览阅读575次。最近收到一个需求,朋友诊室需要做到门诊叫号,流程如下:病人选择医生-刷身份证排队-医生点击病人姓名叫号。经过团队的努力,一个简易的门诊叫号系统已经完成。现在把各个功能记录下来,方便以后查看。1.语音叫号叫号的DLL:DotNetSpeech.dll测试代码如下:using System;using System.Collections.Generic;u..._门诊叫号系统系列 .net c#
文章浏览阅读1.6k次,点赞6次,收藏17次。收藏了各种文章、github资源、赛事top方案等等_kaggle pytorch
文章浏览阅读6.4k次,点赞13次,收藏45次。一.单选题二.简答题三.计算题一.单选题1、TCP的协议数据单元被称为( )。A、比特B、帧C、分段D、字符正确答案: C2、下列说法,错误的是( )。A、TCP协议可以提供可靠的数据流传输服务B、TCP协议可以提供面向连接的数据流传输服务C、TCP协议可以提供全双工的数据流传输服务D、TCP协议可以提供面向非连接的数据流传输服务正确答案: D3、TCP的四次挥手用于( )。A、运输层连接的释放B、运输层连接的建立C、运输层的流量控制D、运输层的拥塞控制正确答案:._用tcp传输256字节数据。设置接收窗口为100字节,而tcp报文段每次也是传送100字
文章浏览阅读1.5k次,点赞5次,收藏16次。(1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not,bufif0,bufif1,notif0,notif1,if,inout,input,instantitation,module,negedge,posedge,operators,output,parameter。(2)所有综合工具都不_assign可综合吗
文章浏览阅读1.6k次。分词是自然语言处理中的一个关键任务,目的是将文本分解为语言单元(如单词、词组等),以便进一步处理。规则分词:是基于词典和语法规则的分词方法,通过在词典中查找词语,再通过语法规则对不在词典中的词语进行处理。规则分词算法具有语言知识丰富、实现简单等特点,但不能很好地处理一些未登录词(OOV)和新词。统计分词:是基于统计模型的分词方法,通过学习大量语料来建立分词模型,从而解决规则分词的一些不足。统计分词算法通常使用HMM、CRF等算法,能够更好地处理OOV和新词,但语料要求比较高,而且实现较为复杂。_文本分词