发 帖  
原厂入驻New
[经验]

【MaaXBoard开发板试用体验】九终于通过GPIO点亮LED灯!

2020-10-31 21:57:07  435 开发板试用 GPIO LED
分享
0

折腾了一周,终于用GPIO点亮LED灯了,拍照留念下!
说说GPIO,以为和 树莓派的GPIO可以通过,但仔细看发现,除了外形相似外,在功能使用上来看还是有许多不同的。传感器可以借用,但里面的程序还是没有实现通用的。之前在树莓派上调通的程序运行在maaxboard上,没反应,所以开始了探索之路……


树莓派的GPIO接口图                             第二个是maaxboard的gpio接口图
暂看很相似,但用起来就发现不同了。 在RPi.GPIO中,同时支持树莓派上的两种GPIO引脚编号。
        第一种编号是BOARD编号,这和树莓派电路板上的物理引脚编号相对应。使用这种编号的好处是,你的硬件将是一直可以使用的,不用担心树莓派的版本问题。因此,在电路板升级后,你不需要重写连接器或代码。
      第二种编号是BCM规则,是更底层的工作方式,它和Broadcom的片上系统中信道编号相对应。在使用一个引脚时,你需要查找信道号和物理引脚编号之间的对应规则。对于不同的树莓派版本,编写的脚本文件也可能是无法通用的。
按照maaxboard的说明书操作echo 13 > export操作,连接对于的针脚没有反应,所以判断13并非芯片上对应的gpio口;
几经周折,在网上终于找到一个关于maaxboard对于的针脚编号说明,连接如下:
maaxboard GPIO针脚对应操作说明

如GPIO pin11为板子上的第里侧第六个,编号GPIO17,这两个号不能作为/sys/class/gpio后面的编号,而gpio后面对应的编号应该为81;
具体计算方法为:11位gpiochip3内部的片址,所以用这个3-1再乘以32得到64,再用64+17=81;
这样用下面的命令
  1. cd /sys/class/gpio
复制代码
进入gpio文件夹后,ls命令查看,里面有export 等文件夹;

然后输入:
  1. echo 81 > export
复制代码
此时会在gpio文件夹下生成一个新的gpio18文件夹,
进入gpio18文件夹继续操作;
  1. echo out > /sys/class/gpio/gpio81/direction
复制代码
设置GPIO81为输出端口
  1. <div class="blockcode"><blockquote>echo 1 > /sys/class/gpio/gpio81/value
复制代码


设定gpio81口为高电平,就可以点亮LED灯了。
  1. echo 0 > /sys/class/gpio/gpio81/value
复制代码
关闭LED灯;
至此就可以通过GPIO,连接更多的外设了。
但并不是所有的GPIO都有输入输出功能的,上面的那位大神已经通过测试给出了不可能的端口,早点看到这个帖子就好了,一周的时间总结的收获给大家分享下。
有的国外大神在GitHub上开源了led灯程序,和大家分享下;
maaxboard gpio led灯
里面有三个程序,运行其中的“gpio_local_led_control.py”即可。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

只有小组成员才能发言,加入小组>>

1749个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表