dpan75 发表于 2016-5-17 10:02:58

Cubieboard 4, 5 gpio 编程控制例子

找到了Cubieboard3 GPIO编程控制的例子。但Cubieboard 4, 5板子不一样, 请问 Cubieboard4 , 5 有GPIO编程控制的例子吗?急找。值此先谢了。

Cubieboard 4, 5 板子好, 希望技术支持能跟上,这样可加速开发,然后购买批量板子。

Geek 发表于 2016-5-17 10:37:54

这里有个 CubieBoard4 的 GPIO 控制
http://cubie.cc/forum.php?mod=viewthread&tid=4884

Geek 发表于 2016-5-17 10:48:29

在终端中敲入以下命令
1 $ cd /sys/class/gpio

2.计算GPIO号码
    一般的GPIO码值:
    GPIOA: 0
    GPIOB: 32
    GPIOC: 64
    GPIOD: 96
    GPIOE: 128
    GPIOF: 160
    GPIOG: 192
    GPIOH: 224

3、我们以GPE11为例。
    GPE0的头是128,GPE11 就是128+11 = 139.
    $ echo 139 > /sys/class/gpio/export
    ls 一下看看有没有 gpio139 这个目录

4、设置参数
   $ echo out > /sys/class/gpio/gpio139/direction
   $ echo 1 > /sys/class/gpio/gpio139/value

Geek 发表于 2016-5-17 10:52:01

不过,经过我测试的情况来看,如果在 sys_config.fex 里已经配置有该 GPIO 口的话,
$ echo 139 > /sys/class/gpio/export
上面这个命令,就不生效了,就不会生成 gpio139。。。(不过你可以试下)

sunbeyond 发表于 2016-5-17 11:15:52

后续新固件会添加一些GPIO,I2C等等操作DEMO。

CB4,CB5 GPIO 非SYS_CONFIG.fex有操作有如下几种方法

1.1 用户空间通过pinctrl操作

#mount -t debugfs debugfs /mnt
#cd /mnt/sunxi_pinctrl

//set the PH9 pin as output port .If type "echo PH9 0 > function" ,set the PH9 pin as input port
#echo PH9 1 > function   

//set the PH9 pin as low level
#echo PH9 0 > data
#sleep 1

//set the PH9 pin as high level
#echo PH9 1 > data
#echo PH8 1 > function
#echo PH8 1 > data

1.2 用户空间通过mem映射.

代码demo参考附件gpio.tar.gz 里面gpio-mem-user.c

1.3 驱动层,使用标准gpio API : gpio_request,gpio_direction_output, gpio_set_value 等等。

代码demo参考附件gpio.tar.gz 里面gpio-test-driver.c




dpan75 发表于 2016-5-18 06:17:26

在楼主的帮助下gpio的控制已实现。万分感谢!
出现了一个新问题: 我们是用来控制一个外接照相LED灯光, 灯光原始设计电压3V。控制下的灯光亮度达不到要求。显然, 控制下的电压偏低。 我们在Cubieboard4 上试了PGxx pin, 均如此。看了别的资料, 说是VCC pin 不能被控制关开,且在 sys_config.fex 上未见。还有别的办法吗? 谢谢!

dpan75 发表于 2016-5-19 06:13:34

我在Cubieboard4 与LED间加了硬件L298N, 使用VCC-5V电源, 解决了这个问题,与大家交流。
页: [1]
查看完整版本: Cubieboard 4, 5 gpio 编程控制例子