OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 76391|回复: 769

含高级定时器的多定时器、单定时器多通道PWM、输入捕获上升沿计数初始化参考程序分享(分享贴)

  [复制链接]

17

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
822
金钱
822
注册时间
2020-7-21
在线时间
85 小时
发表于 2020-8-20 09:08:18 | 显示全部楼层 |阅读模式
     这个程序应该是囊括了PWM、输入捕获所能碰到的最复杂的情况了,第一次输出,希望能对大家有所帮助。
不过在实际使用时遇到了一个问题,PA0,PA1在alldatasheet里可以用定时器5输出,但仿真时发现ODR寄存器写
不进去,不知道为啥,只能临时改成TIM2来输出PWM了。。。
游客,如果您要查看本帖隐藏内容请回复

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2023-7-26
在线时间
2 小时
发表于 2023-7-27 15:02:58 | 显示全部楼层
void TIM2_Cap_Init(u16 arr,u16 psc) {                  GPIO_InitTypeDef GPIO_InitStructure;         TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;          NVIC_InitTypeDef NVIC_InitStructure;          RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);        //使能TIM2时钟          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);  //使能GPIOA时钟                  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0|GPIO_Pin_1;  //PA0 清除之前设置            GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //PA0 上拉输入          GPIO_Init(GPIOA, &GPIO_InitStructure); //        GPIO_ResetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_1);                                                 //PA0                   //初始化定时器2 TIM2                  TIM_TimeBaseStructure.TIM_Period = arr; //设定计数器自动重装值          TIM_TimeBaseStructure.TIM_Prescaler =psc;         //预分频器            TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim         TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式         TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位            //初始化TIM2输入捕获参数         TIM2_ICInitStructure.TIM_Channel = TIM_Channel_1; //CC1S=01         选择输入端 IC1映射到TI1上           TIM2_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling;        //下降沿捕获           TIM2_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射到TI1上           TIM2_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;         //配置输入分频,不分频            TIM2_ICInitStructure.TIM_ICFilter = 0x00;//IC1F=0000 配置输入滤波器 不滤波           TIM_ICInit(TIM2, &TIM2_ICInitStructure);         TIM_ITConfig(TIM2,TIM_IT_CC1,ENABLE);          //初始化TIM2输入捕获参数         TIM2_ICInitStructure.TIM_Channel = TIM_Channel_2; //CC1S=01         选择输入端 IC1映射到TI1上           TIM2_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling;        //下降沿捕获           TIM2_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射到TI1上           TIM2_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;         //配置输入分频,不分频            TIM2_ICInitStructure.TIM_ICFilter = 0x00;//IC1F=0000 配置输入滤波器 不滤波           TIM_ICInit(TIM2, &TIM2_ICInitStructure); //        TIM_ITConfig(TIM2,TIM_IT_CC2,ENABLE);          //中断分组初始化         NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;  //TIM2中断         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;  //先占优先级1级         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  //从优先级0级         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能         NVIC_Init(&NVIC_InitStructure);  //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器           //        TIM_ITConfig(TIM2,TIM_IT_CC1,ENABLE);//允许更新中断 ,允许CC1IE捕获中断         //        TIM_ITConfig(TIM2,TIM_IT_CC2,ENABLE);//允许更新中断 ,允许CC1IE捕获中断   TIM_Cmd(TIM2,ENABLE );         //使能定时器2   }
回复 支持 0 反对 1

使用道具 举报

17

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
822
金钱
822
注册时间
2020-7-21
在线时间
85 小时
 楼主| 发表于 2020-8-20 09:10:37 | 显示全部楼层
板子:STM32F103RCT6
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2020-7-27
在线时间
2 小时
发表于 2020-8-22 09:31:51 | 显示全部楼层
学习。。。。
回复 支持 反对

使用道具 举报

8

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
316
金钱
316
注册时间
2012-11-30
在线时间
73 小时
发表于 2020-8-22 15:03:56 | 显示全部楼层
学习。。。。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2017-9-18
在线时间
3 小时
发表于 2020-8-24 15:41:52 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2020-7-29
在线时间
6 小时
发表于 2020-8-24 17:14:24 | 显示全部楼层
    谢谢
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2020-7-26
在线时间
11 小时
发表于 2020-8-25 01:07:19 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2020-8-25
在线时间
1 小时
发表于 2020-8-25 16:43:41 | 显示全部楼层
对方水水水水水水水水水水水水水水水水水水
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
160
金钱
160
注册时间
2019-5-11
在线时间
59 小时
发表于 2020-8-25 16:52:00 | 显示全部楼层
谢谢你的分享
回复 支持 反对

使用道具 举报

20

主题

99

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2020-6-21
在线时间
70 小时
发表于 2020-8-26 10:48:47 | 显示全部楼层
看看楼主的程序参考一下,最近我一直遇到一个问题,TIM8输入捕获会自动进中断。参考一下你的配置,看看是不是我出了什么问题
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2020-8-24
在线时间
0 小时
发表于 2020-8-26 16:09:00 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2020-8-20
在线时间
6 小时
发表于 2020-8-27 10:47:24 | 显示全部楼层
看看怎么样。
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-8-24
在线时间
3 小时
发表于 2020-8-28 15:41:48 | 显示全部楼层
支持         
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

高级会员

Rank: 4

积分
536
金钱
536
注册时间
2019-8-16
在线时间
241 小时
发表于 2020-8-28 17:35:07 来自手机 | 显示全部楼层
支持支持支持
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2020-8-28
在线时间
1 小时
发表于 2020-8-28 23:11:56 | 显示全部楼层
加油.........
回复 支持 反对

使用道具 举报

0

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2011-1-18
在线时间
60 小时
发表于 2020-8-29 19:56:27 | 显示全部楼层
看看,学习学习!!!!!!!!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2020-8-28
在线时间
0 小时
发表于 2020-8-29 20:41:31 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-7-21
在线时间
4 小时
发表于 2020-8-30 14:19:33 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

5

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
272
金钱
272
注册时间
2011-10-24
在线时间
31 小时
发表于 2020-8-31 17:22:39 | 显示全部楼层
看看。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

0

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2018-4-4
在线时间
74 小时
发表于 2020-8-31 17:54:56 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

0

主题

76

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3790
金钱
3790
注册时间
2013-12-23
在线时间
620 小时
发表于 2020-8-31 18:51:05 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2019-11-6
在线时间
22 小时
发表于 2020-9-1 20:39:58 | 显示全部楼层
学习。
回复 支持 反对

使用道具 举报

4

主题

98

帖子

0

精华

初级会员

Rank: 2

积分
195
金钱
195
注册时间
2018-6-27
在线时间
45 小时
发表于 2020-9-2 18:36:27 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2020-9-2
在线时间
2 小时
发表于 2020-9-2 18:50:46 | 显示全部楼层
谢谢                         xx
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2019-10-21
在线时间
4 小时
发表于 2020-9-2 19:28:38 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2020-7-27
在线时间
7 小时
发表于 2020-9-8 10:56:20 | 显示全部楼层
输入捕获看起来明白,可是实际操作为什么一直出现各种问题。
回复 支持 反对

使用道具 举报

17

主题

97

帖子

0

精华

高级会员

Rank: 4

积分
822
金钱
822
注册时间
2020-7-21
在线时间
85 小时
 楼主| 发表于 2020-9-8 15:26:09 | 显示全部楼层
kingle 发表于 2020-9-8 10:56
输入捕获看起来明白,可是实际操作为什么一直出现各种问题。

具体问题?
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2019-9-19
在线时间
15 小时
发表于 2020-9-8 18:55:56 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

2

主题

5

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-7-3
在线时间
2 小时
发表于 2020-9-8 20:00:07 | 显示全部楼层
想看一下楼主的程序,我的板子也是rct6,目前也要输出多路pwm
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2020-9-3
在线时间
25 小时
发表于 2020-9-9 16:03:29 | 显示全部楼层
11111111
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2019-1-19
在线时间
1 小时
发表于 2020-9-9 23:26:31 | 显示全部楼层
xiexie lou zhu
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2020-9-10
在线时间
0 小时
发表于 2020-9-10 19:45:49 | 显示全部楼层
OKOKOKOKOK
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2019-8-4
在线时间
18 小时
发表于 2020-9-11 08:42:28 | 显示全部楼层
板子:说stm32f407zgt6
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2020-5-4
在线时间
50 小时
发表于 2020-9-11 14:21:39 | 显示全部楼层

谢谢
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2020-5-23
在线时间
14 小时
发表于 2020-9-11 15:59:31 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
105
金钱
105
注册时间
2019-7-18
在线时间
13 小时
发表于 2020-9-21 20:51:06 | 显示全部楼层
做个简易云台,参考下楼主的代码
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-7-18
在线时间
1 小时
发表于 2020-9-21 21:40:15 | 显示全部楼层
学习。。。。。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-9-22
在线时间
3 小时
发表于 2020-9-22 09:32:02 | 显示全部楼层
00000000
回复 支持 反对

使用道具 举报

0

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2020-7-18
在线时间
16 小时
发表于 2020-9-22 17:19:06 | 显示全部楼层
1111111
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2020-9-23
在线时间
1 小时
发表于 2020-9-23 10:32:13 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

0

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
381
金钱
381
注册时间
2016-3-9
在线时间
187 小时
发表于 2020-9-23 22:07:01 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
429
金钱
429
注册时间
2020-6-18
在线时间
38 小时
发表于 2020-9-25 13:27:36 | 显示全部楼层
000000
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-7-20
在线时间
3 小时
发表于 2020-9-25 13:55:32 | 显示全部楼层
想看,感谢!爱你
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2020-5-18
在线时间
17 小时
发表于 2020-9-25 22:10:41 | 显示全部楼层
111111
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2020-5-18
在线时间
17 小时
发表于 2020-9-25 22:11:08 | 显示全部楼层
1111111
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2020-7-30
在线时间
22 小时
发表于 2020-9-30 19:44:30 | 显示全部楼层
学习。。。
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-9-30
在线时间
4 小时
发表于 2020-10-1 12:50:18 来自手机 | 显示全部楼层
感谢感谢,正好要编多路PWM输出
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2019-1-21
在线时间
13 小时
发表于 2020-10-3 09:26:06 | 显示全部楼层
不错,正好学到这块,加深学习映像
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2020-8-17
在线时间
3 小时
发表于 2020-10-6 11:07:12 | 显示全部楼层
谢谢楼主
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-7-21
在线时间
12 小时
发表于 2020-10-6 22:38:26 | 显示全部楼层
66666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 05:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表