stm32f103zet6高级,通用,基本定时器功能汇总:1普通定时,2输入捕获,3输出比较,4PWM,5单脉冲模式输出,6标...

2019-07-21 02:22发布

本帖最后由 nashui_sx 于 2019-7-15 09:06 编辑

修正一个错误,输出比较的时候,两个定时器共用CH1_Flag造成干扰,前面分别加上定时器标记 TIM1_CH1_Flag,别的还未发现错误,已经重新上传
//每个功能都在stm32f103zet6上测试通过
// 1普通定时               2输入捕获                     3输出比较                          4PWM                5单脉冲输出
//TIMx_Time_Init   TIMx_InputCapture_Init   TIMx_OutputCompare_Init    TIMx_Pwm_Init   TIMx_OnePulseOutput_Init
//基本定时器TIM6,7只有1定时的功能,剩余的4个功能分别用高级TIM1 通用TIM2进行测试,便于大家移植
在time.h 中切换功能
#define  TIMx_Time_Init_Test                  0
#define  TIMx_InputCapture_Init_Test       0
#define  TIMx_OutputCompare_Init_Test   0
#define  TIMx_Pwm_Init_Test                 0
#define  TIMx_OnePulseOutput_Init_Test  0
定时器5种模式实验.rar (314.4 KB, 下载次数: 1166) 4 天前 上传 点击文件名下载附件 具体细节参考程序内部说明
例如输出比较可以产生特殊波形
QQ截图20190715083707.jpg
增加两个定时器功能:6标志量触发单脉冲输出             7定时器主从模式产生准确脉冲个数
添加2功能 定时器5种模式实验.rar (315.12 KB, 下载次数: 1104) 4 天前 上传 点击文件名下载附件
1普通定时    : 基本定时
2输入捕获   :一个通道捕获高电平,测量占空比,一个通道测量两个上升沿间隔测量周期
3输出比较   :一个定时器可以产生4中周期不同占空比的pwm,还可以翻转任意io实现任意引脚输出pwm
                  (还可以实现一个定时器实现4种基本定时,大家自己扩展吧)                 
4PWM        :一个定时器产生一种周期的4种占空比pwm
5单脉冲输出:通道2检测到上升沿后,通道1延时设定时间后输出一个设定时间的高电平脉冲

6标志量触发单脉冲输出            
7定时器主从模式产生准确脉冲个数
8 TIM计数模式c8t6做的 TIM 计数模式.rar (3.28 MB, 下载次数: 675) 2017-12-5 20:12 上传 点击文件名下载附件   TIM1在43楼
单脉冲输出的现象:
1.png



























友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
Rainday
1楼-- · 2019-07-22 02:03
 精彩回答 2  元偷偷看……
275891381
2楼-- · 2019-07-22 06:51
Rainday 发表于 2017-6-24 21:26
大神,刚才用了你的程序,用示波器测试了TIM2的PA0口输出的是连续的脉冲波,周期100ms左右,脉宽20ms。另外 ...

恩,周期,高电平可以用它俩改
u16 zhouqi=1000;//*0.1ms
u16 gaodianping=200;//*0.1ms
改成成全局变量就可以在主函数例修改了
564646396
3楼-- · 2019-07-22 07:40
 精彩回答 2  元偷偷看……
564646396
4楼-- · 2019-07-22 11:26
程序上传不了  说太大 什么鬼
浅情辄止
5楼-- · 2019-07-22 14:47
[img]file:///D:用户目录我的文档Tencent Files303362859ImageGroupVVLPVB%~3N)$O6YPR]G[B8P.png[/img]TIM2,3按照这个配置单脉冲输出可以,TIM4,5,8为什么就不行,请教大佬了

275891381
6楼-- · 2019-07-22 20:03
 精彩回答 2  元偷偷看……

一周热门 更多>