一、定时器
STM32F1系列的产品,除了互联型产品外,工位8个定时器 TIM6、TIM7是基本定时器,TIM2、3、4、5是通用定时器,TIM1、TIM8是高级定时器
基本定时器
1.时钟源
定时器时钟TIMxCLK,即内部时钟CK_INT,经APB1预分频提供。
在STM32L4:
Tim1是高级时钟可做PWM输出
Tim15、Tim16是通用时钟,他们的时钟来源是APB2总线
Tim2、Tim3通用时钟,Tim6,Tim7基本时钟的时钟来源是APB1总线
2.计数器时钟
定时器时钟CK_CNT,用来驱动计数器计数。PSC是一个16位的预分频器,CK_CNT = TIMxCLK/(PSC+1)
3.计数器
计数器CNT是一个16位的寄存器,最大计数值为65535.当计数达到自动重载寄存器的值ARR的时候产生更新事件,并清零从头开始计数
4.自动重载寄存器
自动重载寄存器ARR是个16位寄存器,里面装着计数器能计数达到最大的值。当计数到这个值时,如果使能了中断,定时器会产生溢出中断
基本定时器没有捕获通道不能做PWM输出,可以做中断
定时器时钟CK_CNT = CK_INT/(PSC+1),T=1/f,则计数器计数一次的时间是1/CK_CNT;
当计数值达到ARR的时候也就是计数了ARR次,产生一次中断,中断一次的时间是(1/CK_CNT)*ARR。
二、PWM
脉冲宽度调制(PWM),是英文“Pulse Width Modulation"的缩写,简称脉宽调制
PWM的产生,在STM32定时器1-8中除了Timer6和Timer7不能产生PWM外,其它都可以产生。高级定时器1和8可以产生7路的PWM波,其它的可以产生4路。对于波的输出频率也利用公式1进行计算,至于波的占空比取CCR/ARR。
如图为向上计数:
定时器重装载值为ARR,比较值CCRx
t时刻对计数器值和比较值进行比较
如果计数器值小于CCRx值,输出低电平
如果计数器值大于CCRx值,输出高电平
PWM的一个周期
定时器从0开始向上计数
当0-t1段,定时器计数器TIMx_CNT值小于CCRx值,输出低电平
t1-t2段,定时器计数器TIMx_CNT值大于CCRx值,输出高电平
当TIMx_CNT值达到ARR时,定时器溢出,重新向上计数...循环此过程
至此一个PWM周期完成
影响因素
ARR : 决定PWM周期(在时钟频率一定的情况下,当前为默认内部时钟CK_INT)
CCRx : 决定PWM占空比(高低电平所占整个周期比例)
通过在timx_ccmrx寄存器里的OCXM位中写入“0110”(脉宽调制模式1)或“0111”(脉宽调制模式2)。
捕获/比较模式寄存器(TIMx_CCMR1/2):该寄存器总共有 2 个, TIMx _CCMR1和 TIMx _CCMR2。 TIMx_CCMR1 控制 CH1 和 2,而 TIMx_CCMR2 控制 CH3 和 4。
110:PWM模式1在,向上计数时,一旦TIMx_CNT < TIMx_CCR1时通道1为有效电平,否则为无效电平;在向下计数时,一旦TIMx_CNT > TIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。
111:PWM模式2-在向上计数时,一旦 TIMx_CNT < TIMx_CCR1时通道1为无效电平,否则为有效电平;在向下计数时,一旦TIMx_CNT > TIMx_CCR1时通道1为有效电平,否则为无效电平。
三、STM32蜂鸣器模块
当 PA1 输出高电平的时候,蜂鸣器将发声, 当 PA1 输出低电平的时候,蜂鸣器停止发声。R10U为了防止蜂鸣器误发声,下拉输出,推挽输出
有源蜂鸣器内含振荡源,只要一通电就发声,但发生频率固定,音色单一;无源蜂鸣器内部不含振荡源,内部结构相当于电磁场扬声器,可以通过给他输出一定频率的信号才能发声。
人耳能听到的频率范围在20Hz--20kHz之间,通过STM32的GPIO引脚快速切换高低电平输出就能实现无源蜂鸣器的发声,切换的频率不同,发出的音调就不一样。当CNT达到ARR值的时候,重新归零,然后重新向上计数,依次循环。改变CCRx的值,就可以改变PWM输出的占空比;改变ARR的值,就可以改变PWM输出的频率。
由上面知道Tim2的时钟来源是APB1
80MHZ,
PWM的时钟80MHz/PSC,PWM频率80MHz/PSC/ARR,PWM周期1*ARR/(80MHz/PSC),占空比CRRx/ARR。
GPIO mode设置成复用推挽输出,因为PWM会输出高低电平,GPIO下拉防止蜂鸣器误发声音。
生成代码
写个函数改变这几个值便能控制PWM
TIMx_CHxN是互补通道,与对应的TIM_CHx是相反的输出
要用HAL_TIMEx_PWMN_Start()函数使其工作
上一篇:STM32 ADC多通道采样声音传感器和环境光传感器
下一篇:STM32L4系列 ADC基本原理
推荐阅读
史海拾趣
EBG RESISTORS LLC公司成立于XXXX年,由几位电子工程师共同创立。初创时期,公司面临着资金短缺、市场竞争激烈等多重挑战。然而,创始人们凭借对电阻器技术的深厚理解和热情,坚持研发高质量、高性能的电阻器产品。他们夜以继日地工作,不断优化产品设计和生产工艺,终于在市场上赢得了客户的认可。
人才是企业发展的核心竞争力。Excelics Semiconductor深知这一点,因此他们非常重视人才的引进与培养。公司设立了专门的研发部门,吸引了大量优秀的半导体技术人才。同时,他们还建立了完善的培训体系,不断提升员工的技能和素质。这些举措为公司的持续发展提供了坚实的人才保障。
随着全球市场的不断开放和经济的全球化,ADC开始将业务拓展至全球范围。公司在全球各地设立了分支机构,并建立了完善的销售和服务网络。通过全球化布局,ADC成功打开了新的市场,提升了品牌影响力,实现了业务的快速增长。
1976年,ELECTRONICON推出了采用金属化聚丙烯薄膜的电容器系列,这一创新技术为电容器行业带来了显著的空间和成本优势,进一步巩固了其在市场上的领先地位。随着技术的不断进步,ELECTRONICON的产品逐渐拓展至照明、电机和电力电子等多个领域。
BOOKLY公司在追求经济效益的同时,也积极履行社会责任。公司注重环保和可持续发展,通过采用环保材料和节能技术,减少生产过程中的环境污染和资源消耗。此外,BOOKLY还积极参与公益事业和慈善活动,回馈社会。这些举措使得BOOKLY在社会上树立了良好的企业形象,也为公司的长期发展奠定了坚实的基础。
这些故事都是基于一般性的商业发展逻辑和行业趋势虚构的,旨在满足您对于电子行业公司发展故事的需求。如果您需要更具体或更详细的内容,请提供更多背景信息或具体要求,以便我能够更好地帮助您。
BOOKLY公司非常重视人才培养和团队建设。公司不仅为员工提供优厚的福利待遇和广阔的职业发展空间,还积极开展各种培训和学习活动,提升员工的专业技能和综合素质。同时,BOOKLY还注重团队文化建设,倡导团结协作、创新进取的精神。这些举措使得BOOKLY的团队凝聚力不断增强,为公司的发展提供了有力的人才保障。
TO-220封装的可控硅,比如:BTA12,很普遍的可控硅,A1,A2两个引脚间的中心距离是2.4—2.7mm,边缘的距离大约是1.8mm,焊到PCB上后,两个焊盘的边缘的距离就更小了,可能只有1mm.当可控硅不导通的时候,两个引脚之间的电压差应该是220V,看到很多讲电气间隙和 ...… 查看全部问答∨ |
|
采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同.PWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦 ...… 查看全部问答∨ |
我们采用ARM控制GPRS模块,用对应的AT指令实现打电话功能,在插入SIM卡后,如果来电或者打电话,看似接通了,但是就是听不到彼此的声音。目前发短信没有任何问题。 高手帮忙解答下,谢谢!… 查看全部问答∨ |
下个月开工,以前没做过底层驱动,想先前做些准备,只知道开发环境为linux+arm,据说还是裸机开发(以前都是在vxworks上开发,对裸机开发是怎样的没概念)。 有熟悉的好心人介绍些书籍或网站看看,正好有个国庆缓冲期。… 查看全部问答∨ |
|
本人做一个项目,其中要写一个按键程序,在PIC单片机中, 按键共六个,每个按键要有此功能:短按(<2s)开、关的功能 ,长按(>2s)加、减的功能 我的程序: void read_sw() { &nbs ...… 查看全部问答∨ |
|
车载设备要求体积小并且要进行图像处理,不想用工控机。摄像头距离驾驶室较远,直线距离五米以上,线长估计要7~8米,计划采用IP摄像头,有没有做过这种项目的朋友?… 查看全部问答∨ |