新人问-单片机有引脚支持PWM是什么意思?

[复制链接]
6520|15
 楼主| d865841995 发表于 2014-11-6 20:29 | 显示全部楼层 |阅读模式
有些单片机,有些引脚支持PWM。可如果用程序的话不是每个引脚都可以输出PWM信号么?还是说这些引脚在输出PWM信号的时候可以直接一个命令就完成,又或者是硬件自带的,输出的信号比较准确而且不占单片机时间?这样理解不对?

望用过的朋友来说说
jilu1986 发表于 2014-11-6 20:42 | 显示全部楼层
应该是内置PWM模块的输出引脚吧
ddllxxrr 发表于 2014-11-6 20:57 | 显示全部楼层
楼上正解
gx_huang 发表于 2014-11-7 08:45 | 显示全部楼层
看样子新人的思维和视觉和老人的就是不一样。
同样的,每个GPIO都可以实现UART/I2C等功能了。
chen_jhhb 发表于 2014-11-7 09:07 | 显示全部楼层
理解正确
 楼主| d865841995 发表于 2014-11-7 21:46 | 显示全部楼层
jilu1986 发表于 2014-11-6 20:42
应该是内置PWM模块的输出引脚吧

我就想问内置的PWM模块和我用程序实现的又什么不同?是不是想我楼上说的
 楼主| d865841995 发表于 2014-11-7 21:48 | 显示全部楼层
gx_huang 发表于 2014-11-7 08:45
看样子新人的思维和视觉和老人的就是不一样。
同样的,每个GPIO都可以实现UART/I2C等功能了。 ...

我知道每个GPIO都可以,不过那样全是靠程序模拟出来的,我就想问,PWM模块支持的引脚输出PWM信号比我用程序模拟出来的有什么优势? 是想我帖子里说的那样么,请仔细看下我的帖子,谢谢!
 楼主| d865841995 发表于 2014-11-7 21:49 | 显示全部楼层
chen_jhhb 发表于 2014-11-7 09:07
理解正确

除了我说的这些还有别的区别么?就是用着方便,信号比我自己用程序模拟出来的更好呗?还有么
chen_jhhb 发表于 2014-11-8 08:29 | 显示全部楼层
d865841995 发表于 2014-11-7 21:49
除了我说的这些还有别的区别么?就是用着方便,信号比我自己用程序模拟出来的更好呗?还有么 ...

从原理上讲,硬件和软件都可以实现PWM,但是软件是要消耗CPU时间和其他资源的,当系统的任务较重时,用软件显然不是个好办法。
gx_huang 发表于 2014-11-8 09:57 | 显示全部楼层
d865841995 发表于 2014-11-7 21:48
我知道每个GPIO都可以,不过那样全是靠程序模拟出来的,我就想问,PWM模块支持的引脚输出PWM信号比我用程 ...

你帖子可不是这么清楚的说的。
软件PWM,需要占用很多CPU资源。
硬件PWM,CPU资源占用很小。
最关键的,硬件PWM的频率肯定比软件模拟的要高,而且输出没有抖动。
shell.albert 发表于 2014-11-8 10:04 | 显示全部楼层
如果LZ了解FPGA,使用过Verilog,估计会更加理解一些。
硬件模块最大的优点在于并行,配置一些控制信号。
qqljhang 发表于 2014-11-8 20:10 | 显示全部楼层
你理解是对的。软件实现PWM需要你通过不断读取计数器来计算出你想要的占空比,把IO拉高或拉低。硬件PWM你只需要将你想要的低区时长和高区时长输入寄存器,就不用管了,硬件会自动地将PWM波输出,而且比你软件控制IO的方法可靠的多。
 楼主| d865841995 发表于 2014-11-9 15:10 | 显示全部楼层
shell.albert 发表于 2014-11-8 10:04
如果LZ了解FPGA,使用过Verilog,估计会更加理解一些。
硬件模块最大的优点在于并行,配置一些控制信号。 ...

谢谢,并行!
 楼主| d865841995 发表于 2014-11-9 15:10 | 显示全部楼层
qqljhang 发表于 2014-11-8 20:10
你理解是对的。软件实现PWM需要你通过不断读取计数器来计算出你想要的占空比,把IO拉高或拉低。硬件PWM你只 ...

谢谢
 楼主| d865841995 发表于 2014-11-9 15:18 | 显示全部楼层
gx_huang 发表于 2014-11-8 09:57
你帖子可不是这么清楚的说的。
软件PWM,需要占用很多CPU资源。
硬件PWM,CPU资源占用很小。

你说了两点
1,占用资源多少
2,输出信号的质量(频率高和没有抖)
  我帖子里说   输出的信号比较准确而且不占单片机时间?  我想意思应该是同样的意思,不过你说的确实更加具体清楚。谢谢!
 楼主| d865841995 发表于 2014-11-9 15:22 | 显示全部楼层
shell.albert 发表于 2014-11-8 10:04
如果LZ了解FPGA,使用过Verilog,估计会更加理解一些。
硬件模块最大的优点在于并行,配置一些控制信号。 ...

以后想学FPGA,要是有不懂的再来问你哈,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

293

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部