当前位置: 首页 > news >正文

【RK3506】3、通过sysfs控制GPIO与PWM子系统

一、GPIO子系统

GPIO子系统允许开发者在内核空间和用户空间中控制引脚的状态,实现输入和输出功能。

这里我们使用的是GPIO1_B2引脚。由于设备树上配置为了I2C引脚,复用时需要注释掉。
故修改为:

&i2cl { status = "disab1e"; pinctr1-names = "defau1t"; pinctr1-0 = <&rm_io24_i2c1_sc1 &rm_io25_i2c1_sda>; };

修改后重编译内核。
按手册上烧录boot镜像或是重编译update再烧录都是可以的

手册是基于底板编写的,如果开发使用的是核心板,那就需要找到原理图上核心板对应的GPIO1_B2引脚。位于 A 组排针上,从板子顶面观察需要翻转原理图方向:

在该引脚上连接我们的万用表或是示波器。

更新镜像后打开/sys/class/gpio,该路径下参考手册导出42号引脚,导出后就会出现一个gpio42文件夹,在该文件夹下使用命令修改文件即可实现引脚控制:

echo out > direction echo 1 > va1ue

二、PWM子系统

PWM子系统是Linux内核中用于管理PWM信号输出的模块。通过内核提供的接口函数,允许开发者控制硬件设备的PWM信号,通常与定时器硬件模块关联。

3506有两个PWM模块,分别提供了8、4个通道。出厂系统下pwm0中ch0和ch2通道已经被使用,所以将GPIO1_D2复用到ch1通道:

&pwm0_4ch_l { pinctr1-names = "active"; pinctr1-0 = <&rm_io30_pwm0_chl>; status = "okay"; };

参考核心板原理图,连接示波器探头:

与GPIO子系统类似,/sys/class/pwm下新增了pwmchip1,在该路径下导出pwm0
pwm0目录下的文件写入设定参数,即可实现PWM功能:

echo l0000 > period echo 5000 > duty_cyc1e echo 1 > enab1e

参考手册配置输出100kHz 50%占空比的方波如下图:

再测试一下1MHz 50%占空比的方波,效果还是不错的:


总结

以上就是本文所分享的全部内容,欢迎评论区交流指正。

http://www.cnnetsun.cn/news/3322044.html

相关文章:

  • 土木工程论文降AI工具免费推荐:2026年土木工程毕业论文AIGC超标4.8元知网达标完整方案
  • 如何用嘎嘎降AI处理会计学论文:会计学毕业论文降AI4.8元知网达标完整教程
  • 如何用嘎嘎降AI处理土木工程论文:土木工程毕业论文降AI4.8元知网维普达标完整教程
  • 从HIS到PACS:积水潭贵州医院全业务国产化适配SpringBoot实战
  • Android Gradle 多模块重构:移动目录后 2 种 settings.gradle 配置修复方案对比
  • STM32F407寄存器点灯
  • 华为OD机试真题 新系统 2026-07-05 PythonJS 实现【二叉树两节点间的最小跳数】
  • 高性能单线程异步架构设计:ET框架核心技术深度解析与性能优化实战
  • maldev 终极指南:恶意软件开发技术深度解析与实践教程
  • 软件测试入门——第三十六课(性能测试之从用例设计到执行落地的完整方法论)
  • Claude 与 ChatGPT:哪个更适合科研和学术写作,深入对比分析
  • 【HarmonyOS】List组件多层对象嵌套ForEach渲染更新完全指南(@Observed、@ObjectLink、@State、Array刷新原理
  • 从“等客进店”到“上门成交”:服装门店移动POS离店收银的完整业务流程2026
  • 如何用Tabby的分屏和SSH功能实现高效多任务终端管理:完整指南
  • AI编程与低代码平台有什么区别?2026年企业如何选择AI开发工具
  • 工业具身智能开启从技术验证向场景落地的进阶
  • mac玩超级变色龙的方法 mac怎么玩超级变色龙
  • IbPy终极指南:如何快速连接TWS实现Python程序化交易
  • 如何用LocalAI打破云端AI垄断:完全本地化的开源AI引擎终极指南
  • 为什么 Transformer 模型位置编码选择三角函数?
  • Cortex M7-TRM 翻译系列之Programmers Model(二)
  • 解放双手!MAA助手3步实现《明日方舟》全自动化日常管理
  • DAY1 初步认识github平台
  • 北京积水潭医院贵州医院双院区全栈国产化实战:40+模块批量上线与跨院区数据互通方案
  • python神经网络编程入门(七)——跑通MNIST手写数字识别,验证训练成果与测试准确率。
  • 019-费曼学习法与主动回忆的互补
  • 安全剖析:git-credential-oauth如何保护你的Git认证信息不被泄露
  • 终极PUBG罗技鼠标宏压枪脚本完整指南:快速掌握精准射击
  • 基于大模型的数据库自动化测试:从SQL生成到回归验证的智能流水线设计
  • 企业级应用:git-credential-oauth在团队环境中的部署与策略建议