完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 这一节讲述PWM类的使用方法,请先在https://github.com/tjCFeng/ClassA20下载ClassA20类库。 PWM,又一个典型的输出功能,是利用处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。它主要包括周期、脉冲宽度和占空比这几个概念。脉冲宽度就是高电平输出的时间,占空比就是低电平所占的百分比。而高电平与低电平时间的总和就是周期,所以我们主要设置脉冲宽度和占空比这两个数值(当然,一些基本的设置已经被封装好或使用默认值)。 还是先来看一下类的定义,请打开PWM单元文件: 与GPIO单元类似,同样有两个类供使用。但是这里面有一些不同,先说说TPWM类。 TPWM类的使用方法和TGPIO相同,直接创建就可以用了,但是它的实现方式不一样。PWM口与IO口是复用的,它是IO口的另一种功能,所以TPWM类继承了TGPIO类。继承后的TPWM类在内部调用了TGPIO类的一些功能设置对应的IO口为PWM输出,同时设置好了一些基本的属性,所以在使用时不需要考虑的太多。 而TPWMGROUP类就不同了,它是一个单例类,即在同一个程序中它只能被创建一次,而且是第一次使用时被创建,再在其他任何地方使用都是这个已经创建好的实例,而且不需要手动释放,在程序退出时自动释放。这样做是为了尽量避免多处程序对一个PWM通道操作造成影响。当然,完全避免是不可能的(除非加锁,但是这样对操作系统的依赖比较大),主要还是起到提示作用。 好了,开始动手吧,自制神器再次出现 请忽略上面的各种按键,只看LED。和上一节香蕉派上的PH24不一样,这个LED通过一个三极管来驱动,它可以根据PWM的频率来亮灭。当PWM输出低电平时形成压差使LED亮,高电平时灭。 硬件的连接,由于是自制的,不具有通用性,所以不再表述,只看PWM这根线,出于方便,我把它接在了PWM1上,也就是PI3这个IO口(紫色的那根线)。 准备工作完成,开始写程序。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 20:48 , Processed in 0.562138 second(s), Total 67, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号