RV1126&RV1109 buildroot 增加PWM测试脚本

1、测试效果(让pwm8输出占空比为50%,1.00KHz)

2 、kernel打开pwm8

&pwm8 {
    status = "okay";
    pinctrl-names = "active";
    pinctrl-0 = <&pwm8m0_pins_pull_down>;    
};

3、执行方法

使能pwm8

[root@ROCKEMD:/rockchip_test/pwm]# ./pwm.sh 1

关闭pwm8

[root@ROCKEMD:/rockchip_test/pwm]# ./pwm.sh 0

4、上脚本(pwm.sh)

#!/bin/sh
#  date: 20201230
#  rockemd

pwmPath="/sys/class/pwm/pwmchip1/pwm0"

if [ -n "`echo $1|sed 's/[2-9]//g'`" ];then
	if [ ! -d "$pwmPath" ]; then
		echo 0 > /sys/class/pwm/pwmchip1/export 
		echo 1000000 > /sys/class/pwm/pwmchip1/pwm0/period
		echo 500000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle
	fi
	echo $1 > /sys/class/pwm/pwmchip1/pwm0/enable
	if [ $1 -eq 0 ];then
		echo 0 > /sys/class/pwm/pwmchip1/unexport
	fi
else
   echo "./pwm.sh <1 | 0>"
   echo "1 = enable"
   echo "0 = disabled"
fi

5、脚本说明

pwm驱动加载成功后,在/sys/class/pwm/下会产生pwmchip1目录,向export文件写入0,就会打开pwm定时器,会产生一个pwm0目录。相反往unexport文件写入0,就会关闭pwm定时器,同时pwm0目录会被删除。

该目录有以下几个文件:

enable :写入1使能pwm,写入0关闭pwm

polarity  :有normal和inversed两个参数选择,表示输出引脚电平翻转。

duty_cycle :单位纳秒,在normal模式下,表示高电平持续的时间 在inversed模式下,表示低电平持续时间。

period  :单位纳秒,表示pwm波持续周期

 

技术交流群: 微信号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值