您尚未登录。

楼主 #1 2019-05-19 18:14:16

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 849
积分: 720

f1c100s的gpio的文件操作方式

官方f1c100s文档中并没有有关外设的操作说明,我是借用的zero的文档做的。
使用sysfs操作GPIO的例子:

#echo 192 > /sys/class/gpio/export  #导出 PG0, GREEN
#ls /sys/class/gpio/
export     gpio192    gpiochip0  unexport
#ls /sys/class/gpio/gpio192/
active_low direction subsystem/ value device/ power/ uevent
#echo "out" > /sys/class/gpio/gpio192/direction #设置为输出
#echo 0 > /sys/class/gpio/gpio192/value     #亮灯
#echo 1 > /sys/class/gpio/gpio192/value #灭灯
#echo "in" > /sys/class/gpio/gpio192/direction #设置为输入
#cat /sys/class/gpio/gpio192/value #读取电平
0

但是我执行echo 46> /sys/class/gpio/export后,成功生成gpio46文件夹,但是执行echo "out" > /sys/class/gpio/gpio46/direction时出错了
sh: write error: Unknown error 517
我用vi编辑direction文件也照样不能写入,这是什么坑?

最近编辑记录 kekemuyu (2019-05-19 18:15:43)

离线

#2 2019-05-19 18:53:50

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: f1c100s的gpio的文件操作方式





离线

楼主 #3 2019-05-19 19:12:24

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 849
积分: 720

Re: f1c100s的gpio的文件操作方式

难道是我手册看错了,我看的是pe3是46

离线

#4 2019-05-19 19:28:25

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: f1c100s的gpio的文件操作方式

kekemuyu 说:

难道是我手册看错了,我看的是pe3是46

手册还会写这个?





离线

楼主 #5 2019-05-19 20:17:54

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 849
积分: 720

Re: f1c100s的gpio的文件操作方式

gpioe.png
我说错了,是datasheet,这是licheepi官方的,PE3的gpio不是46吗?

离线

#6 2019-05-19 20:20:17

ippen
会员
注册时间: 2018-07-22
已发帖子: 345
积分: 339.5

Re: f1c100s的gpio的文件操作方式

手册里面的序号不是gpio的编号
gpio的编号是设备树里面定义的吧

离线

楼主 #7 2019-05-19 21:34:53

kekemuyu
会员
注册时间: 2018-12-13
已发帖子: 849
积分: 720

Re: f1c100s的gpio的文件操作方式

ippen 说:

手册里面的序号不是gpio的编号
gpio的编号是设备树里面定义的吧


找到问题了,在zero的文档里有说明:
在Linux中,GPIO 使用0~MAX_INT之间的整数标识。

对于32位CPU,每组GPIO 32个,引脚号就是按顺序排列。

从PA0开始gpio是0,那么PE3对应是32*4+3=131,经试验已验证

离线

#8 2020-04-18 19:54:12

hzy831225
会员
注册时间: 2020-04-11
已发帖子: 40
积分: 35

Re: f1c100s的gpio的文件操作方式

楼上的兄弟,谢谢!

离线

#9 2021-02-19 19:37:25

哦豁哦豁
会员
注册时间: 2020-01-17
已发帖子: 79
积分: 79

Re: f1c100s的gpio的文件操作方式

/sys/class/gpio/gpio192/

请问如何通过这个接口设置 io 的上拉或者下拉呢?

# mount -t debugfs none /sys/kernel/debug
#
# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-223, parent: platform/1c20800.pinctrl, 1c20800.pinctrl:
 gpio-64  (                    |sysfs               ) out lo
 gpio-65  (                    |sysfs               ) out hi
 gpio-66  (                    |sysfs               ) out lo
 gpio-67  (                    |sysfs               ) out lo
 gpio-68  (                    |sysfs               ) out hi
 gpio-69  (                    |sysfs               ) out hi
 gpio-70  (                    |sysfs               ) out hi
 gpio-71  (                    |sysfs               ) out hi
 gpio-72  (                    |sysfs               ) in  hi
 gpio-108 (                    |sysfs               ) out lo
 gpio-109 (                    |sysfs               ) out lo
 gpio-110 (                    |sysfs               ) out lo
 gpio-111 (                    |sysfs               ) out lo
 gpio-112 (                    |sysfs               ) out lo
 gpio-113 (                    |sysfs               ) out lo
 gpio-114 (                    |sysfs               ) out lo
 gpio-115 (                    |sysfs               ) out lo
 gpio-192 (                    |serial_rts          ) out lo
 gpio-193 (                    |serial_rts          ) out lo
 gpio-196 (                    |usb0_id_det         ) in  lo IRQ
 gpio-201 (                    |sysfs               ) in  hi
#
#
#

现在有些是上拉的, 有些是下拉的.

离线

#10 2021-02-19 21:47:20

哦豁哦豁
会员
注册时间: 2020-01-17
已发帖子: 79
积分: 79

Re: f1c100s的gpio的文件操作方式

V3s 直接用 devmem 写寄存器解决吧:

#PC_PULL0_CFG
devmem 0x01c20864 32 0x55555555

#PD_PULL0_CFG / PD_PULL1_CFG
devmem 0x01c20888 32 0x55555555
devmem 0x01c2088C 32 0x55555555

#PG_PULL0_CFG
devmem 0x01c208F4 32 0x55555555

参考手册: Allwinner_S3_Datasheet_V0_2.pdf

离线

#11 2021-11-11 12:26:12

笔走天下
会员
注册时间: 2021-08-13
已发帖子: 126
积分: 0.5

Re: f1c100s的gpio的文件操作方式

基础地址+偏移,举个例子:PB2, 1*32+2=34

离线

#12 2023-06-07 00:41:32

jiabuda
会员
注册时间: 2023-06-05
已发帖子: 24
积分: 9

Re: f1c100s的gpio的文件操作方式

想问一下,我现在想做一个按键点亮LED等的操作,应该怎样写程序呢
感觉无从下手,大佬们能否指教一下

离线

#13 2023-06-09 14:48:30

蹲坑逗蛆
会员
注册时间: 2023-02-10
已发帖子: 3
积分: 48

Re: f1c100s的gpio的文件操作方式

我也是,现在在玩F1c200s,看了官方的手册,也是感觉无从下手的感觉,感觉国产SOC做的资料太拉垮了,stm32的gpio描述甩这些一大截。

离线

#14 2023-06-09 23:54:01

jiabuda
会员
注册时间: 2023-06-05
已发帖子: 24
积分: 9

Re: f1c100s的gpio的文件操作方式

蹲坑逗蛆 说:

我也是,现在在玩F1c200s,看了官方的手册,也是感觉无从下手的感觉,感觉国产SOC做的资料太拉垮了,stm32的gpio描述甩这些一大截。

我研究了几天,做得差不多了,我用的是sysfs的驱动,export了接口,然后一直读接口,读到值之后写接口

编译烧录这些,我反而搞了一轮,觉得没啥搞头,搞来搞去嘛,好像也成不了什么事

离线

#16 2024-09-10 21:00:48

microxp
会员
注册时间: 2021-04-27
已发帖子: 76
积分: 124

Re: f1c100s的gpio的文件操作方式

@jiabuda
这种方式已经被淘汰了,现在6.0内核那个程序挺好用的,libgpiod

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn