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

个人网站建设代码郑州搜索引擎优化

个人网站建设代码,郑州搜索引擎优化,网站免费正能量不用下载,中山网站设计收费标准GPIO, 全称 General-Purpose Input/Output(通用输入输出),是一种软件运行期间能够动态配置和控制的通用引脚。 以下通过控制 ROC-RK3576 Pro 的 LED 为例,对于其他设备,方法是类似的。 ROC-RK3576-PC Pro 的主控是 RK…

GPIO, 全称 General-Purpose Input/Output(通用输入输出),是一种软件运行期间能够动态配置和控制的通用引脚。

以下通过控制 ROC-RK3576 Pro 的 LED 为例,对于其他设备,方法是类似的。
ROC-RK3576-PC Pro 的主控是 RK3576,RK3576 有 5 组 GPIO bank:GPIO0~GPIO4,每组又以 A0~A7, B0~B7, C0~C7, D0~D7 作为编号区分。
在这里插入图片描述

GPIO 编号计算

ROC-RK3576-PC Pro 板载两个 LED,如下:

DIY_LED 网络是接到引脚 GPIO0_B5:
在这里插入图片描述
PIO pin 脚计算公式:

pin = bank * 32 + number

GPIO 小组编号计算公式:

number = group * 8 + X

例如 GPIO0_B5:

bank = 0;      // GPIO0_B5 => 0, bank ∈ [0,4]
group = 1;     // GPIO0_B5 => 1, group ∈ {(A=0), (B=1), (C=2), (D=3)}
X = 5;         // GPIO0_B5 => 5, X ∈ [0,7]
number = group * 8 + X = 1 * 8 + 5 = 13;
pin = bank * 32 + number = 0 * 32 + 13 = 13;

注意:这个引脚在官方发布的固件中默认已被 LED 子系统占用,因此首先需要找到以下节点将其 disable!

ROC-RK3576-PC Pro 是定义在arch/arm64/boot/dts/rockchip/RK3576-roc-pc.dtsi:

user {status = "disabled"; // 添加这一行label = "firefly:yellow:user";linux,default-trigger = "ir-user-click";default-state = "off";gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;pinctrl-names = "default";pinctrl-0 = <&led_user>;
};

然后编译与重新烧写内核固件。

用户态使用 GPIO

1、申请 GPIO

echo 12 > /sys/class/gpio/export

2、配置引脚方向

查看默认引脚方向:

cat /sys/class/gpio/gpio12/direction

配置成输出方向:

echo out > /sys/class/gpio/gpio12/direction

3、配置引脚输出电平

从前面的原理图可知,输出高电平为点亮 LED:

echo 1 > /sys/class/gpio/gpio12/value

熄灭 LED:

echo 0 > /sys/class/gpio/gpio12/value

设备树使用 GPIO

在设备树中配置 GPIO,需要配置引脚的功能复用与电气属性

对于 rockchip 引脚,配置如下:

rockchip,pins = <PIN_BANK PIN_BANK_IDX MUX &phandle>
其中:

PIN_BANK:引脚所在的 bank

PIN_BANK_IDX:引脚所在 bank 的引脚号

MUX:功能复用配置,0 表示普通 GPIO,1-N 表示特殊的功能复用

phandle:引脚一般配置,例如内部上拉、电流强度等,在Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt文件中描述

配置 GPIO0_B5 引脚:

rockchip,pins = <0 13 RK_FUNC_GPIO &pcfg_pull_none>;

此处的含义:

PIN_BANK等于0

PIN_BANK_IDX等于13

RK_FUNC_GPIO代表使用普通 GPIO 功能

pcfg_pull_none代表普通配置

对于 LED,Linux 定义了一套 GPIO 子系统,设备树的配置如下:

/ {gpio_led: gpio-led {compatible = "gpio-leds";diy_led: diy-led {label = "diy-led";default-state = "on"; // 默认打开linux,default-trigger = "default-on"; // 默认触发gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; // 引脚设置pinctrl-names = "default";pinctrl-0 = <&diy_led_pin>; // 引用 pinctrl};};
};&pinctrl {gpio-led-pin {diy_led_pin: diy-led-pin {rockchip,pins =<0 13 RK_FUNC_GPIO &pcfg_pull_none>;};};
};

然后编译与重新烧写内核固件,重启系统会看到 LED 默认点亮。

如果希望 LED 具有闪烁效果,可以修改linux,default-trigger属性实现:

linux,default-trigger = "timer";

配置该属性后,LED 默认每 500ms 间隔闪烁。

http://www.dtcms.com/wzjs/127551.html

相关文章:

  • 做的网站怎么把技术支持去掉最佳磁力搜索引擎
  • 甘肃省省经合局网站建设的通知百度竞价托管哪家好
  • wordpress博客设置广州seo服务公司
  • 劳动仲裁案例100例百度网络优化推广公司
  • wordpress自定义搜索界面太原seo关键词排名优化
  • 2018做网站承德网络推广
  • 通付盾 建设网站公司网站制作河南
  • 网店美工毕业设计论文建站 seo课程
  • 光谷网站建设2024北京又开始核酸了吗今天
  • 在线做动图的网站贵州seo培训
  • wordpress内容页不显示图片seo外链论坛
  • 网站建设客户优化大师客服
  • 网站支付开发seo常见优化技术
  • 建筑网站翻译编辑百度问答我要提问
  • 七台河网站seo电商广告
  • 济南造价工程信息网优化网站排名的方法
  • 网站建设 目标seo页面内容优化
  • 护肤品网站制作 网新科技建立一个国外的网站
  • 淄博桓台网站建设方案关键词调词平台
  • 中信建设有限责任公司 湖南中筑建设公司seo日常优化内容是什么
  • 网站备案 材料百度下载软件
  • 河南网站建设制作b2b多平台一键发布
  • 厦门的服装商城网站建设百度识图在线识别网页版
  • 7天精通网站建设实录简介242seo搜索引擎优化总结
  • 静态网站培训安徽网站推广优化
  • wordpress域名解析端口seo是指
  • 做企业网站的人才全网营销软件
  • 本地网站搭建教程电商网站有哪些
  • 建设电脑网站环球资源网官方网站
  • 有哪几个网站可以做贸易百度直播推广