完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请先在https://github.com/tjCFeng/GoRK3288下载 GoRK3288 开源库。 这一节来看看PWM的操作方法。前面说到了GPIO7_A1是个复用端口,包括GPIO和PWM,那么这次还是使用这个端口把它变成PWM输出。 还是来看这张图 可以发现PWM在前,GPIO在后,也就是说默认的功能为PWM。如果想使用PWM功能的话,上电后可以直接使用了。不过为了能更加清楚的说明它是个复用端口,可以在上一节作为GPIO使用后,不要断电或重启,可以重新配置为PWM功能再来使用,其他端口不论默认功能是什么,都是一样的操作方法。 再来看Test.go中的示例代码 即便当前是GPIO功能,也可以直接初始化为PWM的端口。在初始化时,可以不需要考虑端口,直接给定PWM的通道就可以了。因为手册是已经标明PWM1对应的就是GPIO7_A1。至于它到底是PWM还是GPIO,是通过Create类型来决定的,并且类中已经自动配置了复用设置寄存器,对用户完全透明,不用再去关心。 这个示例代码比较全,实际在使用时,如果不打算做太多的设置,可以直接指定周期和占空比,再用Start和Stop来控制启停,在不使用时别忘了释放端口。 同理,可以初始化其他的PWM来使用,如RK3288.PWM_2、RK3288.PWM_3等。不过PWM4不要使用,它已经被系统使用了,强行使用它会造成系统紊乱,需要重启系统恢复,有兴趣可以试一下:-) 需要注意的是,Start()开启的是一个协程,也就是说启动PWM后程序不会阻塞在Start()语句上,可以在PWM输出的时候继续执行其他的代码,互不影响。 还是使用上一节的测试方法,继续使用那个小板。这上面既有LED,也有蜂鸣器,都可以通过PWM来驱动 启动PWM后可以看到LED的闪烁或蜂鸣器的声音,不过这些都是动态的,没办法抓拍,就不放出照片了。 最后总结一下PWM类的方法: CreatePWM:初始化PWM端口,需要指定通道 FreePWM:释放PWM GetState:获取当前PWM是否已经启动 GetCNT:获取当前PWM的计数器 GetPERIOD:获取当前PWM被设置的周期数 GetDUTY:获取当前PWM的占空比周期数(不是百分比) SetCNT:设置计数器,启动PWM之前最好设置为0 SetPERIOD:设置周期数 SetDUTY:设置占空比周期数 SetinactivePolarity:设置PWM启动时是高电平还是低电平 SetDutyPolarity:设置占空比的高低电平 Start:启动PWM Stop:停止PWM GoRK3288库请在https://github.com/tjCFeng/GoRK3288下载。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
903 浏览 0 评论
【KV260视觉入门套件试用体验】四、KV260 视觉入门套件和固件更新
1480 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI Library体验之OCR识别
1123 浏览 0 评论
【KV260视觉入门套件试用体验】Vitis AI 通过迁移学习训练自定义模型
1492 浏览 0 评论
【KV260视觉入门套件试用体验】KV260系列之Petalinux镜像+Resnet 50探索
1148 浏览 0 评论
【AMD KV260视觉入门开发套件试用】4、简单几步体验ubuntu 20.04.3 LTS运行人员检测应用
1620浏览 1评论
939浏览 1评论
【KV260视觉入门套件试用体验】老刘记事儿KV260初体验之Micro-SD选型提速研究(三)
838浏览 1评论
【KV260视觉入门套件试用体验】KV260部署yolov3实现车辆和行人检测
2455浏览 1评论
【KV260视觉入门套件试用体验】基于KV260的人脸识别的实现与展示
827浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:33 , Processed in 0.670416 second(s), Total 72, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号