RISC-V技术论坛
直播中

jf_98821266

2年用户 4经验值
擅长:控制/MCU
私信 关注
[经验]

【Milk-V Duo 开发板免费体验】LED电灯(GPIO设置)

点LED

一上来想使用GPIOA14脚位,却发现脚位电平一直是高电平无法设置。

根据官方文档说明:

GPIO0 对应linux组号值为 480

GPIO1 对应linux组号值为 448

GPIO2 对应linux组号值为 416

GPIO3 对应linux组号值为 404

PWR_GPIO 对应linux组号值为 380

那使用GPIOA14(如官网图片中左侧的倒数第二个引脚),GPIO编号是480+14=494,设置输出,然后设置0和1,输出的都是1,没有变化。
同样的操作更换GPIOC9,GPIO编号416+9=425,设置输出,设置电平高低又是有效的。
这个问题是官网的引脚图错了,还是引脚编号的计算有问题???

那GPIOA14编号应该是494,但是设置一直无效,后来根据论坛反馈,应该是复用问题,需要使用配置工具,重新配置GPIO的脚位功能。

[Milk-V Duo 引脚复用配置工具 cvi_pinmux]
cvi_pinmux.tar.gz 通过scp或其他方式传到Duo上

scp cvi_pinmux.tar.gz root@192.168.42.1:/root/

在Duo终端中解压安装(会安装到/usr/bin目录下) :

tar zxf cvi_pinmux.tar.gz -C /

查看当前所有IO信息

cvi_pinmux -l

该工具查询或设置某个引脚,首先要知道这个引脚的名字,名字可以在原理图中找到
image.png

GPIOA14被SDIO的EN脚位用掉了,不再是普通GPIO,这里重新设置下
image.png

查询这个引脚当前的配置

cvi_pinmux -r SD0_PWR_EN

可以看到当前复用为GPIO_14, 我们这里需要设置为XGPIOA_14

cvi_pinmux -w SD0_PWR_EN/XGPIOA_14

再用cvi_pinmux -r SD0_PWR_EN查看的话,已经配置为XGPIOA_14了

同样的方法,可以配置其他脚位的GPIO,如果遇到GPIO设置不成功的话。

下面是演示视频,点LED。

点LED

更多回帖

发帖
×
20
完善资料,
赚取积分