OpenEdv-开源电子网

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

定时器求助

[复制链接]

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
发表于 2016-11-19 09:19:22 | 显示全部楼层 |阅读模式
10金钱
一个定时器可以同时既输出PWM又中断定时吗

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

使用道具 举报

17

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1280
金钱
1280
注册时间
2013-12-14
在线时间
567 小时
发表于 2016-11-19 09:32:06 | 显示全部楼层
可以的,一个定时器可以抽象出许多个软定时器,可以干很多事情。
半导体->模拟电路->数字电路->单片机->汇编->C->操作系统->java
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-11-19 09:35:06 | 显示全部楼层
东北小辉辉 发表于 2016-11-19 09:32
可以的,一个定时器可以抽象出许多个软定时器,可以干很多事情。

我意思如果已经中断里定时了再进行输出pwm不会相互影响吗,我看很少这么用的
回复

使用道具 举报

17

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1280
金钱
1280
注册时间
2013-12-14
在线时间
567 小时
发表于 2016-11-19 09:42:09 | 显示全部楼层
sang523 发表于 2016-11-19 09:35
我意思如果已经中断里定时了再进行输出pwm不会相互影响吗,我看很少这么用的

不懂你的意思,你的意思是用硬件PWM输出?stm32可以把定时器用作硬件PWM的同时还计数吗?stm32我好久不用了,寄存器不太熟悉。、

我的意思是在主函数里根据定时器中断来进行IO口翻转来实现的输出。
半导体->模拟电路->数字电路->单片机->汇编->C->操作系统->java
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-11-19 09:44:46 | 显示全部楼层
东北小辉辉 发表于 2016-11-19 09:42
不懂你的意思,你的意思是用硬件PWM输出?stm32可以把定时器用作硬件PWM的同时还计数吗?stm32我好久不用 ...

对了我用的stm8(应该跟stm32差不多吧)就是用timer输出pwm啊
回复

使用道具 举报

17

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1280
金钱
1280
注册时间
2013-12-14
在线时间
567 小时
发表于 2016-11-19 09:49:47 | 显示全部楼层
sang523 发表于 2016-11-19 09:44
对了我用的stm8(应该跟stm32差不多吧)就是用timer输出pwm啊

那这个要看一下手册,我估计定时器配置为硬件PWM的时候是无法进行计数的。

寄存器配置以后应该只能进行一种功能的,比如你想用TIM1的硬件PWM功能,那它应该就失去了计数功能。

我感觉你没明白我的意思,不知道你现在是否清楚硬件PWM和软件PWM的区别?

硬件PWM就是,你配置好TIM1和相关的寄存器,然后啥都不用管,他直接就输出你个PWM。
软件PWM就是你通过定时器,中断到来,自己用IO翻转模拟的PWM。

这个取舍就看你硬件资源是否紧张了,我一般是用软件来模拟的。
半导体->模拟电路->数字电路->单片机->汇编->C->操作系统->java
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-11-19 09:52:46 | 显示全部楼层
东北小辉辉 发表于 2016-11-19 09:49
那这个要看一下手册,我估计定时器配置为硬件PWM的时候是无法进行计数的。

寄存器配置以后应该只能进 ...

恩,应该是硬件pwm,没了解过因为我这还涉及互补输出,确实没看见网上有人这么用
回复

使用道具 举报

17

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1280
金钱
1280
注册时间
2013-12-14
在线时间
567 小时
发表于 2016-11-19 10:02:18 | 显示全部楼层
sang523 发表于 2016-11-19 09:52
恩,应该是硬件pwm,没了解过因为我这还涉及互补输出,确实没看见网上有人这么用

那这样的话,既想实现定时器的计数功能,又想输出PWM,最好采用软件PWM的方式,这样做的好处是节省硬件资源,坏处是提高了软件复杂度。
半导体->模拟电路->数字电路->单片机->汇编->C->操作系统->java
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-11-19 10:06:35 | 显示全部楼层
东北小辉辉 发表于 2016-11-19 10:02
那这样的话,既想实现定时器的计数功能,又想输出PWM,最好采用软件PWM的方式,这样做的好处是节省硬件资 ...

软件如果实现互补输出的pwm麻烦吗
回复

使用道具 举报

17

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1280
金钱
1280
注册时间
2013-12-14
在线时间
567 小时
发表于 2016-11-19 10:12:38 | 显示全部楼层
sang523 发表于 2016-11-19 10:06
软件如果实现互补输出的pwm麻烦吗

理论上是可以实现的,我现在在公司,有点忙,你自己先想一想,我闲下来的时候也可以帮你想个大致的框架。
半导体->模拟电路->数字电路->单片机->汇编->C->操作系统->java
回复

使用道具 举报

19

主题

62

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-10-11
在线时间
98 小时
 楼主| 发表于 2016-11-19 10:17:55 | 显示全部楼层
东北小辉辉 发表于 2016-11-19 10:12
理论上是可以实现的,我现在在公司,有点忙,你自己先想一想,我闲下来的时候也可以帮你想个大致的框架。

哦,先谢谢啦
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 08:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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