837|2

428

帖子

10

TA的资源

纯净的硅(初级)

楼主
 

【玄铁杯第三届RISC-V应用创新大赛】LicheePi 4A+GPIO口的使用 [复制链接]

 

我项目是使用LicheePi 4A控制小车,那么肯定离不开GPIO口,参考文档里面似乎没有python对gpio的使用,现在把我尝试的操作说一下,供大家参考。

根据文档描述,板上的IO映射如下:

 

但缺省情况下,并没有映射对应的GPIO,如下:

 

查看sudo cat /sys/kernel/debug/gpio,也没有相关信息:

 

可以通过设置export来新增对这些GPIO口的sysfs节点,进而控制。具体操作可以查询wiki,在wiki文档中有一点点漏写了,系统重export的权限是200,并不能直接通过

echo pin number进/sys/class/gpio/export来生成gpioxx目录

需要先增加sudo chmod 202 export,接下来就可以照文档操作

num=xxx

echo ${num} > /sys/class/gpio/export

这时已经增加了对应的gpio节点。

 

与之类似,如果想设置GPIO的in/out,需要增加direction的可写权限,如下:

 

在这里,我将11脚(GPIO1_3)设置成输出低电平(0),12脚(GPIO1_4)设置成读取(当前悬空),继续使用sudo cat /sys/kernel/debug/gpio命令查看,可以看到在缺省基础上增加了427、428的显示:

 

 

用pydevmem操作也很简单。

查询接口对应内存关系表

 

 

参考https://www.cnpython.com/pypi/devmem#

链接已隐藏,如需查看请登录或者注册

安装python-devmem

sudo pip install devmem --break-system-packages

使用方法

使用sudo权限运行python3

执行

import devmem

a = devmem.DevMem

mem = a(0xffec006000, length=100)

mem.write(0x4,[0x00402078])

使用

print(mem.read(0x0, 32).hexdump(4))

可以看到修改效果

如果同时查看

sudo cat /sys/kernel/debug/gpio

可以看到427~430都变成out了

再使用

mem.write(0x0,[0x00402078])

可以看到427~430都设置为高电平输出了。

比较有意思的是在地址0xffec006050段的值也随着高低电平发生了变化,尝试过,这个地址的值写入是无效的。

最新回复

我的板子烧了,新的还没收到,先来看文章预热一下!!!   详情 回复 发表于 2023-9-29 08:19
点赞 关注
 
 

回复
举报

7753

帖子

18

TA的资源

五彩晶圆(高级)

沙发
 

看着挺规整,谢谢分享!

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

我的板子烧了,新的还没收到,先来看文章预热一下!!!

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
立即报名 | 2025 瑞萨电子工业以太网技术日即将开启!
3月-4月 深圳、广州、北京、苏州、西安、上海 走进全国6城
2025瑞萨电子工业以太网技术巡回沙龙聚焦工业4.0核心需求,为工程师与企业决策者提供实时通信技术最佳解决方案。
预报从速,好礼等您拿~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表