CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 18020|回复: 13

Cubieboard的GPIO能控制电压,不再是单纯的开关了!

[复制链接]
发表于 2013-4-11 13:13:53 | 显示全部楼层 |阅读模式
本帖最后由 tll 于 2013-4-11 13:18 编辑

Cubieboard的GPIO能控制电压,不再是单纯的开关了!
以前看过我帖子(http://cn.cubieboard.org/home.php?mod=space&uid=511&do=thread&view=me&from=space)的人都知道,以前我说GPIO的输出只能有0,1(虽然是完美驱动),输入也只能判断是否>3.22v,所以控制东西只有开关,不能调电压,但是现在不同,我成功控制了GPIO的电压,用的是软PWM,很简单(硬PWM暂时没找到使用方法,据说也很方便)
视频:

我是用php来弄
sudo apt-get install php5 php5-cli -y
安装PHP5和命令
then,nano /gpio.php
输入:
  1. <?php
  2. echo "GPIO writer on cubieboard by TLL";
  3. echo "\n";
  4. echo "Please make sure your PHP server can edit /sys directory";
  5. echo "\n";
  6. $a=0;
  7. while($a<1000){
  8. if($a < 300){
  9. if($a%3==0){
  10. `echo 1 > /sys/class/gpio/gpio2_pd2/value`;
  11. }else{
  12. `echo 0 > /sys/class/gpio/gpio2_pd2/value`;
  13. }
  14. }else if($a < 600){
  15. if($a%3!=0){
  16. `echo 1 > /sys/class/gpio/gpio2_pd2/value`;
  17. }else{
  18. `echo 0 > /sys/class/gpio/gpio2_pd2/value`;
  19. }
  20. }else{
  21. `echo 1 > /sys/class/gpio/gpio2_pd2/value`;
  22. }
  23. $a++;
  24. }
  25. `echo 0 > /sys/class/gpio/gpio2_pd2/value`;
  26. echo "finish!";
  27. echo "\n";
  28. ?>
复制代码
确认你按我以前帖子(上面)的步骤弄好了GPIO的驱动【需要配置gpio2为pd2】,将pd2与GND间连个LED,正负极记得别反了,然后运行php /gpio.php,看看LED的亮度是否有变化,一般会从灭到低到中到高再到灭,不是吗?
注释[PS]:
1 视频里的程序,用的是老版本的程序,只有0,低,中,没有高。
2 变化时会闪说明你cb的GPIO处理速度有点慢
回复

使用道具 举报

发表于 2013-4-11 15:13:32 | 显示全部楼层
哥们,有你的。软pwm。哈哈,支持。
回复 支持 反对

使用道具 举报

发表于 2013-4-11 16:58:33 | 显示全部楼层
好样的~ 继续探索下硬PWM?。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-12 12:44:25 | 显示全部楼层
WindLand 发表于 2013-4-11 16:58
好样的~ 继续探索下硬PWM?。

正在想办法
回复 支持 反对

使用道具 举报

发表于 2013-4-12 20:04:24 | 显示全部楼层
软件模拟PWM耗资源,虽然这个板子硬件资源够强,但是硬件PWM更加稳定,加油!顶你
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-13 06:16:09 | 显示全部楼层
SUNROC1 发表于 2013-4-12 20:04
软件模拟PWM耗资源,虽然这个板子硬件资源够强,但是硬件PWM更加稳定,加油!顶你 ...

没驱动,所以只能软PWM
回复 支持 反对

使用道具 举报

发表于 2013-4-13 20:54:37 | 显示全部楼层
不要标题党。这是什么PWM. 会把CPU耗光的。 这种方法就算你写到内核里都无实用价值。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-13 21:36:26 | 显示全部楼层
jarry 发表于 2013-4-13 20:54
不要标题党。这是什么PWM. 会把CPU耗光的。 这种方法就算你写到内核里都无实用价值。 ...

现在没驱动,等硬PWM出来了就不会了,现在只能用软PWM,等等吧
回复 支持 反对

使用道具 举报

发表于 2013-4-15 12:21:23 | 显示全部楼层
datasheet第9章不就是pwm吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-20 05:34:14 | 显示全部楼层
chopin1998 发表于 2013-4-15 12:21
datasheet第9章不就是pwm吗?

那个讲的是硬件原理和方案,我们现在没法直接在shell里面控制
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-5-20 21:32 , Processed in 0.024869 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部