神秘阿当
神秘阿当
关注数: 6
粉丝数: 42
发帖数: 166
关注贴吧数: 22
【经验分享】终于搞定了,enc28j60真费劲…… 两天两夜无法入眠的严重强迫症患者表示,大家还是W5100吧,易用很多。 ENC28上JCW的ethercard库好是好,但是还是有些小问题害我走了点弯路。这里简单写写,方便后来的朋友。 目标服务器端口port指定: 自制的综合环境监测用了NAS做服务器,为了避免跟NAS的管理界面冲突选用了81端口。 国内基本所有的enc28教程都是使用yeelink之类封好的sdk,不涉及改变端口。其实ethercard是支持端口指定的,也很简单:ether.hisport就可以了。多数教程都是拿路由端或者唯一终端来举例子的,所以那个hisport跟这个还是有些区别的。 DNS的dnslookup解析失败: ethercard的dnslookup经常失败,有人就把dnslookup放到loop里或者干脆手写,很不方便效率也低。我去JCW的论坛里扫了一圈,12年的时候JCW的一篇更新说明里提到了ether.dnslookup(website, true)的用法。国内的教程我也没找到true的范例。这里为true表明是使用DNSRAM,如果你的dnslookup经常超时,请尝试加上这个true。 Stash无法清空: 在我两天两夜无限多次的尝试中发现Stash可能存在一些莫名的bug,才疏学浅就不鼓捣库了。Bug的来源基本上有个思路,就是尽量不要stash.save()。JCW在另外一个更新说明里提到了在ether.tcpSend();以后会清空stash,很遗憾,我的没有。所以在ENC28 仅有分给stash的3.5K空间被占满以后,再也写不进去一个字节了。 CS针脚指定: 8,11,12 ,13!我大强迫症患者群hold不住了!必须CS改为10。这里lucadentella的范例都很好: if (!ether.begin(sizeof Ethernet::buffer, mymac, 10)) Serial.println("Failed to access Ethernet controller"); 不需要刻意去指定针脚了,不用飞来飞去的走线了。目前我ENC28J60端的针脚使用情况如下: ENC26J60: 10, 11, 12, 13, RST。 nRF24L01: 2, 4, 5, 7, 8, 9, RST。 电源RAW, GND。 nRF24这么用是因为我另外一块板子焊接洞洞板的时候为了避免飞线,就近接针脚所以改了库文件,这个懒得分开改库了。 大概就这些,想到了再补充。
【经验分享】做了个综合数据采集,在ProMini上跑的不够稳定。 睡觉!早上再来看会不会断。 断了的话再来请教各位老师~
【经验分享】avrdude: usbdev_open(): did not find any USB... 突然发现一个诡异的现象,就是我在Arduino IDE里Upload时不断出现:avrdude: usbdev_open(): did not find any USB device "usb"的错误。 与别的下载线和电脑交叉测试都没有问题,反复测试以后发现…… 如果是用快捷键,出问题的几率会超大!不但出现找不到USB,还经常伴随500等错误。 建议大家以后还是按Upload的按钮好了……
【求教】I2C上拉电阻 I2C上拉电阻…… 是接SDA SCL都行么? 我准备直接并4个I2C设备……
【求教】自建函数的位置是有影响的? X宝低价败了一个 A137 2.4" TFTLCD,卖家给的库是老版的不能用。于是自己瞎改终于成了。 不过在折腾的时候发现一个奇怪的问题,如果自建函数放在调用之后就会显示函数没有声明,把函数挪到setup之间就能用了…… 何解呢……? 代码主体如下: void mycode() { tft.setCursor(0, 120); tft.setTextColor(WHITE); tft.setTextSize(4); tft.println("My code!"); } void setup(void) { tft.initDisplay(); mycode(); } void loop(void) { } 这样可以用,但是如果把 mycode函数放在loop之后就 /graphicstest/graphicstest.ino.cpp: In function 'void setup()': /graphicstest/graphicstest.ino.cpp:73: error: 'mycode' was not declared in this scope 万年小白疑问满满,请诸天大神解惑…… 另外,void loop(void) 括号里的void啥意思啊,加不加有区别么?
【求教】W5100支持POE么? X宝35元买的W5100支持POE么? 如果原版设计是带POE的,那么电压范围是到48? 那怎么让POE给UNO供电呢? 我是想能省个电源位就省个电源位了…… 百度了一下,貌似大家都没再搞5100的poe……
【求教】小白求教模拟口电压和nRF24L01的问题…… arduino刚入手没多久,小白问题N多,请各位不吝赐教啊。 眼看就要夏天了,于是想在阳台上直接挂太阳能电池板给测量各类数据的pro mini供电,通过nRF24传到路由器这里的UNO上。然后噩梦开始了…… 这几天北京的太阳算是回来了,但是霾也在家,太阳能电池板后面的mini红灯闪烁,明显的电流不足。 于是自己找了段测量电压的代码,想直接RAW上挂一个A0针时时看看电压。 百度了一段测量电压的代码如下: const byte batteryPin = A0; void setup() { Serial.begin(9600); } void loop(){ long val = analogRead(batteryPin); Serial.println(val*(5000/1023)); //毫伏数值 delay(1000); } 问题一来了:未接A0线的情况下,直接串口打印竟然有电压?啥情况…… 是正常的么?有的时候最高能到4000多mV…… 出现问题不怕,万能解决方案就是先不管它。然后我欠欠的把nRF24挂上了,用的是http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.geek-workshop.com%2Fforum.php%3Fmod%3Dviewthread%26tid%3D7498&urlrefer=a255640ce1b6f5d54efc5b706a81ab20 测试是没问题了…… 可是有段没懂…… /* 初始化发送数据 */ for(int i = 0; i < 26; i++){ buf[i] = 97+i; } 这段为什么要写到setup()里 97+i又是啥情况…… 坐地上休息半天也不得姐,特地上来请教,还望各位前辈指点迷津啊……
1
下一页