BPI-D1试用心得五

书接上回:

本周各种失败,难以形成一篇合格的试用心得,但是打算将问题汇总到一起(以后若碰到问题也回来往后面添加),便于后来者参考。

1、D1 不能输出PWM信号

舵机的控制需要微秒级的信号,有的可以直接输出脉冲信号的,看到用户说明中有pwm的字眼,但是/sys/class /sys/dev中都没有pwm的字眼,所以姑且猜测d1没有直接能输出pwm脉冲的功能。还是有这个功能,但是缺乏相应驱动?
还有一个就是用软件的方法输出高低电平,流程是这样的。while(1) {set HIGH ; usleep 1000 ; set LOW ; usleep 1000; } 其实就是靠sleep延时,usleep是linux微妙级延时的函数。参照$D1/src/samples/gpio-led/ 改好后编译。但是,运行后用示波器测量后发现,d1仅能输出10ms以上的周期。所以,软pwm也不行。
所以,想偏转轮子必须要借助其他的芯片。如果您发现了其他方法,跪求告诉我。
但是在D1的用户手册上有介绍PWM引脚,但在D1的《Linux平台内核接口使用手册_v1.0.0.》以及《Linux 平台内核配置及修改手册》中确实没有介绍啊。

2、mos管驱动问题
以前学的mos只需要电压驱动,但是买回来的buk100-50gl,用d1的电压(约3.3v)无法导通漏源电流,试了一个2v电池接GS两端后反而Ids导通了。不知道为什么?mos管不是电压驱动的吗?草了,这个问题求解答。
用电流表直接接D1的高电平输出端与gnd端之间电流0.33mA,难道mos的G级也需要一个一定大小的电流才能导通DS?

//扯句犊子,我mpu6050都买回来了,结果发现这么坑。嗨。希望能把小车做出来吧。

本篇试用心得写的太水,良心上过意不去。
下面补充一个D1传输文件的小技巧。
背景:
因为玩D1,经常需要写程序,所以,要把在上位机编译好的程序送到D1中,可以用SD卡,但是反复插拔麻烦,因为sd卡被usb网卡的线挡住了。于是,就有必要通过网络,直接往D1中送文件。
原本是可以通过ftp上传的,但是貌似d1的系统把ftp的put命令精简掉了,所以在上位机ftp>put的时候会提示unknown command.
但是,可以自己编译一个tcp传输程序,用于传输自己需要的东西。

做法:
百度linux tcp文件传输,第一条:http://blog.csdn.net/tanghuachun/article/details/6918240
在上位机上为D1编译client 和server,为上位机自己编译client 和server。
你可以按照自己的喜好修改程序。
server用于提供传输的文件,client用于向server索取文件。

用法举例:
比如,我想往D1中传编译好的gpio-led,我的上位机ip 192.168.0.22,D1的ip 192.168.0.1。
在上位机上./server
在D1上./client 192.168.0.22
然后输入gpio-led
则会提示传输成功。(注:待传输文件必须在server所在目录)

有个fstp用于传输文件

希望早日解决,分享经验

mos管是电压驱动,