全志T507平台GPIO 控制(一)

一. GPIO介绍

T5平台有9组端口:PA,PC,PD,PE,PF,PG,PH,PI,PL

如GPIO-E:

1.1 内部结构图: 

 

 包括:功能/模式配置、输出data值、驱动能力、上下拉;

1.2 驱动能力配置:

 当输出高电平时:

n0,n1,n2,n3 全部关闭;

p0,p1,p2,p3 打开;

根据驱动能力大小导通不同的PMOS管; 

 当输出低电平时:

p0,p1,p2,p3 全部关闭;

n0,n1,n2,n3 打开;

根据驱动能力大小导通不同的NMOS管;

 

 1.3 上下拉配置:

         

二.sunxi_pinctrl 节点控制

cd /sys/kernel/debug/sunxi_pinctrl/

2.1 查看配置状态:

//查看PE13状态

echo PE13 > sunxi_pin_configure && cat sunxi_pin_configure 

 每个 pin 都有 4 种属性:function:复用、data:数据值、dlevel:驱动能力、pull:上下拉

 这 4 个属性都能读写;

2.2 控制 gpio输出

//拉高 PE13

echo PE13 1 > data && cat sunxi_pin_configure

//拉低 PE13

echo PE13 0 > data && cat sunxi_pin_configure  

 2.3 修改上下拉

//PE13输出下拉

echo PE13 0 > pull && cat sunxi_pin_configure

//PE13输出上拉

echo PE13 1 > pull && cat sunxi_pin_configure

三. pinctrl节点控制

3.1 查看IO属性

cat sys/kernel/debug/pinctrl/pio/pinmux-pins

  PE13=13 + 128 = 141

  PE16=16 + 128 = 144

3.2 查看IO值

cat sys/kernel/debug/gpio

四. 寄存器控制gpio

此平台支持8组GPIO(PE也在其中),基地址是0x0300B00

4.1 查看寄存器值

cd sys/class/sunxi_dump/

echo 0x300B094 > dump

cat dump

4.2 写入寄存器值

cd sys/class/sunxi_dump/

echo 0x300B0AC 0x8000000 > write   //寄存器地址, 值

4.3 查看写入内容

cat write

4.4 回读寄存器

cat dump 

4.5 以PE13为例

计算configure addr、drving addr、 pull addr 其中:addr= base addr + offset

configure addr= 0x300B000 + 0x0098 = 0x300B098 (bit2:0)

drving addr = 0x300B000 + 0x00A8 = 0x300B0A8(bit1:0)

pull addr = 0x300B000 + 0x00B0 = 0x300B0B0(bit1:0)

0x01707111(bit2:0=1 即output)

PS:此方法无法修改output值值拉高/拉低gpio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值