Arduino的看门狗watchdog

Arduino的经典芯片就是328,据说这个片子是内置看门狗的

watchdog.jpg

参考了坐台的栗子

#include <avr/wdt.h>

void setup() {
  Serial.begin(9600);
  wdt_enable(WDTO_8S);
  Serial.println("restart"); 
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  delay(1000);
}

期望结果是每8秒重起,实际不是这样的,8秒后blink灯狂闪,reset键和重新下载程序都无效了,只能拔电了。
有人说UNO不死,结果也死,据说还是bootloader的问题,可能要升级,烧录器又不在手上,麻烦。

UNO的bootloader和Nano的似乎差别还很大
hardware\arduino\avr\bootloaders\optiboot
hardware\arduino\avr\bootloaders\atmega

果然,用1.8.4的IDE,nano的bootloader还是不行,uno的bootloader就可以了。

参考了坐台在狗爬的文章:http://forum.godpub.com/thread-30-1-1.html

跑分测试sysbench

sudo apt-get install sysbench
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run
大球的测试M1-365、M1+-402、M2-182、M3-70
H2+-191

关闭CPU的核心

查询一下有几个核心

grep -c processor /proc/cpuinfo
grep "processor" /proc/cpuinfo
lscpu

需要在root下执行,怎么用sudo呢?

echo 0 > /sys/devices/system/cpu/cpu3/online

1是打开,内核确实关掉了,但是功耗基本还是没有降下来,还是1.5W

sudo的解决办法sudo bash -c "echo 0 > /sys/devices/system/cpu/cpu3/online"

vs2010下用python

pytools的原始网站是http://pytools.codeplex.com/
后来改叫PTVS了,新版本支持新的VS,老版本最早能支持到VS2010,https://github.com/Microsoft/PTVS/releases/v2.1.1
没有进度,似乎死了
02.png

嗖的一下,完成了
03.png

建个项目
04.jpg

直接运行,挺好用啊
05.png

python下的串口操作

python和串口用得都很广,学习了一下python下的串口操作

ls /dev/ttyS*

发现0、1、2、3一共四个串口

dmesg | grep ttyS*

看一下日志,一一对应,查看资料http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO/zh
neo.png

0号是debug口,3号没有引出,就剩1号(8T/10R)和2号(11T/22R),和以前的GPS测试比较吻合http://www.ickey.cc/community/thread-67030-1-13.html
串口测试的python例子

import serial  
t = serial.Serial('/dev/ttyS2',9600)  
n = t.write('you are my world')  
print t.portstr  
print n  
str = t.read(n)  
print str

需要短接11和22脚,同时需要pyserial的支持,安装方法如下

sudo apt-get install python-pip
pip install pyserial

- 阅读剩余部分 -