本文来源电子发烧友社区,作者:yuzhiwen1986, 帖子地址:https://bbs.elecfans.com/jishu_2309331_1_1.html
unionpi tigher 开发板在多功能扩展接口上提供多达18个GIPO(General Purpose Input/Output Port),即通用输入输出端口。使用GPIO可以采集开关量信号或者控制开关量输出。作为输入端口的时候,可以通过读入管脚的电平状态(高电平或者是电平)来判读电平信号,比如按键的按下和松开检测。作为输出信号,可以通过管脚来控制外围电路,比如驱动继电器或者是LED的亮灭。在后续的报告里我会采用GPIO来驱动一个继电器,该继电器控制一个220V的电机。本文中主要介绍GPIO控制LED的测试。
本文主要参考uninopi sample 参考用例里面的GPIO:https://gitee.com/openharmony/vendor_unionman/tree/master/unionpi_tiger/sample/hardware/gpio
根据九联科技的开发板使用只能附件2中的40PIN扩展序列图中查找到第33个管脚GPIO.23 对应的GPIO是gpio-386
通过cat /sys/kernel/debug/gpio
查看## GPIO对应关系
图1:40PIN扩展序列图
这里不是很明白的地方,GPIO对应关系``
// gpios
#define UM_GPIO_01 380 /* GPIO.7 */
#define UM_GPIO_02 381 /* GPIO.0 */
#define UM_GPIO_03 382 /* GPIO.2 */
#define UM_GPIO_04 383 /* GPIO.3 */
#define UM_GPIO_05 384 /* GPIO.21 */
#define UM_GPIO_06 385 /* GPIO.22 */
#define UM_GPIO_07 386 /* GPIO.23 */
#define UM_GPIO_08 387 /* GPIO.24 */
#define UM_GPIO_09 388 /* GPIO.25 */
#define UM_GPIO_10 389 /* GPIO.1 */
#define UM_GPIO_11 390 /* GPIO.4 */
#define UM_GPIO_12 391 /* GPIO.5 */
#define UM_GPIO_13 392 /* GPIO.6 */
#define UM_GPIO_14 393 /* GPIO.30 */
#define UM_GPIO_15 394 /* GPIO.26 */
#define UM_GPIO_16 395 /* GPIO.27 */
图2: GPIO对应关系
图3 : 硬件实物连接图
根据GPIO的对应关系将LED灯的正极的GPIO.23(UM_GPIO_07,这个对应关系还没搞清楚 )管脚,负极接到开发板的GND。这样通过GPIO输出高电平控制LED亮,输出低电平控制LED灭。
在串口调试窗口下可通过修改如下文件的值来控制GPIO
# echo 386 > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio386/direction
# echo 1 > /sys/class/gpio/gpio386/value
# echo 0 > /sys/class/gpio/gpio386/value
本来想写个脚本控制一下,无奈WIFI连接有问题,VIM/VI都用不了。下次再搞吧,再附上一个循坏控制的小视频。
全部0条评论
快来发表一下你的评论吧 !