STM32单片机的PWM输入捕获模式设计

说 不进中断 等等基本功能没实现ok的,查看:
stm32 外设配置关键步骤
务必仔细瞅瞅…
tim输入捕获简介
tim输入捕获两种模式:
1. pwm输入模式
2. 输入捕获模式
调试记录pwm输入模式:
该模式的理解:
stm32的pwm输入捕获模式
仅适用于通道1、 2
从输入捕获中断说起…
从tim3 ch1输入信号,
(tim_getitstatus(tim3,tim_it_cc1)==set)//{ic1=tim_getcapture1(tim3)+1;//周期ic2=tim_getcapture2(tim3)+1;//脉冲宽度floatpulse=ic2/(float)ic1;//占空比fan_frequency=(u32)1000000/ic1;//频率}//tim_setcounter(tim3,0);tim_clearflag(tim3,tim_flag_cc1);tim_clearitpendingbit(tim3,tim_it_cc1);//清楚tim的中断待处理位。
注:
计数器从0计数,需要+1处理;
fan_frequency = (u32)1000000 /ic1;” 的1000000,取自基时钟72分频以后的时钟频率,为1m。如:进行配置,取72m;36分频,取2m;
外设tim3配置:
捕获法
voidtim3_configuration(void){。..rcc_apb1periphclockcmd(rcc_apb1periph_tim3,enable);gpio_pinremapconfig(gpio_fullremap_tim3,enable);tim_internalclockconfig(tim3);tim_timebaseinittypedeftim_timebasestructure;tim_timebasestructure.tim_prescaler=72-1;tim_timebasestructure.tim_period=0xffff;tim_timebasestructure.tim_clockdivision=tim_ckd_div1;tim_timebasestructure.tim_countermode=tim_countermode_up;tim_timebaseinit(tim&tim_timebasestructure);tim_icinittypedeftim_icinitstructure;tim_icinitstructure.tim_channel=tim_channel_1;tim_icinitstructure.tim_icpolarity=tim_icpolarity_rising;tim_icinitstructure.tim_icselection=tim_icselection_directti;tim_icinitstructure.tim_icprescaler=tim_icpsc_div1;tim_icinitstructure.tim_icfilter=0x00;//tim_icinit(tim3,&tim_icinitstructure);tim_pwmiconfig(tim3,&tim_icinitstructure);tim_selectinputtrigger(tim3,tim_ts_ti1fp1);tim_selectslavemode(tim3,tim_slavemode_reset);tim_selectmasterslavemode(tim3,tim_masterslavemode_enable);。..。.}12345678910111213141516171819202122232425262728
注:
tim_pwmiconfig(tim3, &tim_icinitstructure); //tim_icinitstructure参数的配置函数
tim_selectinputtrigger(tim3, tim_ts_ti1fp1);
tim_selectslavemode(tim3, tim_slavemode_reset);
tim_selectmasterslavemode(tim3, tim_masterslavemode_enable);
此四行代码为 pwm输入捕获模式标配;
关于tim_icinitstructure参数的配置函数还有:
tim_icinit(tim3, &tim_icinitstructure);
区别就是是否设置另外一个通道的/* select the opposite input polarity/和/select the opposite input */ 反向捕获边沿、另一个择timx_ccrx的有效输入。这里将timx_ccr2有效输入选择至ti1上。
只是测频率的话,无伤大雅。
详见:数据手册 + 固件库源码。
输入捕获模式
适用于全部通道。
tim设置,代码注释贴上来都是乱码,就直接截图啦。
这里使用tim_icinit(tim3, &tim_icinitstructure);进行配置。
中断代码如下:

介绍一种能够完成自然语言和SVA相互转换的小工具
千视全IP方案海外首秀,中国“智”造闪耀百年NAB
面向工业应用的汽车通信网络分析
黑芝麻智能正在全力推动旗下芯片的量产
Sprint计划今年在六个城市部署5G网络明年正式运营5G网络
STM32单片机的PWM输入捕获模式设计
场效应管常用驱动芯片有哪些?
回顾第七届服装行业供应链与物流技术研讨会的内容分析
实验中学某校区能耗管理系统的应用说明
2023H1储能锂电池CR10提升至95%
华为荣耀10和v10有什么区别
IPC将携手慕尼黑展览共同打造IPC电子制造馆
“初心如磐聚合力 奋楫笃行创辉煌”——润和软件召开庆祝建党102周年暨“七一”表彰大会
华为P10的秘密:新一代徕卡双摄镜头!
小米Play图文评测 到底好不好用
复合介质电容器的结构与特点
5G商用将带动换机需求 5G手机的“杀手锏”应用是什么?
任正非首发声:谈及孟晚舟被捕、中美贸易冲突、华为营收目标
爆!一加5T官网售罄_一加6将在二季度正式亮相
研华科技推出基于Core处理器的嵌入式板卡产品