近期瞎折腾,想使用Art_Pi的PWM输出功能,自以为轻车熟路的在RT-Thread Settings里面配置一番就可以轻松用上,没成想又一脚踩到泥坑里面去了。还好这个坑不是特别深,问问群里大佬,看看贴子就基本解决了。不过参考的贴子写的比较简要,需要自己琢磨琢磨,才能找出解题的方法来。这里我把自己的解题过程记录下来,分享出来,希望能给新手们作为参考答案,哈哈!
先给出参考链接
Art_Pi的BSP是支持PWM输出的,但是需要自己手动添加BSP驱动,下面这两个贴子是官方给出的解决方案,我也是照着进行的操作。
[https://github.com/RT-Thread-...
[https://github.com/RT-Thread/...
下面是我自己的操作。
首先,修改Kconfig文件,这个文件位于项目目录的libraries子目录下:
这里我先复制了一个副本,防止自己改的出错了,还能替换回来。
在Kconfig文件中添加以下代码:
具体的语法我也不是很清楚,参考文件中其他字段写的。修改这里的目的是什么了?目的就是让RT-Thread Settings的配置菜单中出现一个新的选项,如下图所示:
完成上述修改之后,保存并刷新一下项目,然后重新打开RT-Thread Settings就可以看到如图中的选项了。但是单纯添加了这个选项还不行,因为具体的drv文件还没有自动包含到项目中,在文件管理器中是可以查看到drivers目录下是有drv_pwm.c文件的,但是在项目管理中并没有包含进来,这就需要修改第二份文件。位于drivers目录下的SConscript文件。
同样的复制一份作为备份,修改内容如下:
添加上述字段,保存退出,更新一下软件包或者刷新一下项目。就可以看到drv_pwm.c文件已经包含进来了。
编译通过,下载到开发板上,运行程序。在终端中list_device,可以看到pwm5已经注册上了。
接下来就copy一下sample的代码到自己的代码中验证一下。Perfect!