摘要: 真实的温度测试数据,通过加热棒加热一盆水测得的真实数据,X轴是时间秒,Y轴是温度: 1)滤波前 2)滤波后(p=10, q=0.0001, r=0.05, kGain=0;) 2)滤波后(p=10, q=0.00001, r=1, kGain=0;),Y轴放大10倍并取整 。 相关C语言代码: #define LINE 1024static float prevDa... 阅读全文
posted @ 2014-06-27 12:36 Craftor 阅读(9078) 评论(0) 推荐(0) 编辑
摘要: 一、思路 基于STM8,按键处理,思路是这样的: 每20ms左右一次去扫描按键,用一个key_now记录当前值,用key_last记录上次的值,如果key_now和key_last同时有效,则开始进行cnt++。 我设定两个阈值,LONG_PRESS为100(100*20ms=2s),SHORT_PRESS为4(4*20ms=80ms,去抖)。 cnt大于LONG_PRESS,... 阅读全文
posted @ 2014-06-27 12:32 Craftor 阅读(13853) 评论(0) 推荐(1) 编辑
摘要: 情况是这样的,我的程序里有一个参数,数值不超过1000,我要保存到EEPROM中,那就要分两个字节存放。我用下面的方式保存是正常的: BASE = 0x4000; param = 999; eeprom_write(BASE+0x01, param/256); eeprom_write(BASE+0x02, param%256); ... 阅读全文
posted @ 2014-06-27 12:28 Craftor 阅读(1242) 评论(0) 推荐(0) 编辑
摘要: IPv4的头部格式: 1. Version 版本号,默认是4。 2. IHL(Internet Header Length) 就是IPv4头部长度。这个长度的单位是32bit,一般是5,那么头部的长度就是5x32bit=160bit。 3. DSCP(Differentiated Services Code Point),ECN(Explicit Congestion Notific... 阅读全文
posted @ 2014-06-27 12:27 Craftor 阅读(5938) 评论(0) 推荐(0) 编辑
摘要: STM8虽然功能齐全,但是空间不足也是经常出来的情况。要么.text overflow,要么.bss overflow,让人头疼。这里把一些优化方案列出来,让空间得到充分利用: 1、在Project settings下,C Compiler,Optimizations选择Customize 重点是把Split Functions选上。 意思就是只编译用到的函数,不然编译器会很傻地把你用到... 阅读全文
posted @ 2014-06-27 12:25 Craftor 阅读(6431) 评论(0) 推荐(0) 编辑
摘要: wireshark要监控eth0,但是必须要root权限才行。但是,直接用root运行程序是相当危险,也是非常不方便的。 解决方法如下: 1.添加wireshark用户组 sudo groupadd wireshark 2.将dumpcap更改为wireshark用户组 sudo chgrp wireshark /usr/bin/du... 阅读全文
posted @ 2014-06-27 12:23 Craftor 阅读(12036) 评论(1) 推荐(0) 编辑
摘要: 硬件:某STM32开发板,ST-Link/V2 一、硬件相关: 1、引脚连接: pin7 SWIO pin9 SWCLK pin20/pin18 GND pin19 +3.3V (如果不使用ST-Link给板子供电,不要接) 2、Keil中设置: 1)在Debug下,选择ST-Link Debugger 2)选中ST-Link Debugger后,选择Set... 阅读全文
posted @ 2014-06-27 12:22 Craftor 阅读(30454) 评论(0) 推荐(0) 编辑
摘要: 偶然的机会,发现STM8真是又便宜又好用啊,哈哈! 买了一个STM8S103F3的小板子,再加一个ST-Link调试器,总共才35块钱!对于我们这种玩习惯了动辄上千上万的FPGA开发板的人来说,就是白菜中战斗机啊! 说一下STM8S103F3的特点吧: 1、电平:支持3.3V~5V 2、内部自带16MHz振荡器 3、中断、定时器、看门狗、IIC、SPI、UART、AD 该有的基本全有了... 阅读全文
posted @ 2014-06-27 12:21 Craftor 阅读(4389) 评论(0) 推荐(0) 编辑
摘要: x=0:0.1:6*pi; for step=1:2:100 s=0; for i=1:2:step s = s+1/i*sin(i*x); end plot(s);set(figure(1),'visible','off'); filename=[num2str(step, '%04d'),'.png']; print(1, '-dpng',filename); end 阅读全文
posted @ 2014-06-27 12:20 Craftor 阅读(8920) 评论(0) 推荐(0) 编辑
摘要: 之前有一些项目是托管在github上的,无奈github速度太慢,而且空间有限,还不能有私有项目。后来发现开源中国的git托管(git.oschina.net)还不错,可以托管1000个项目,而且可以选择公开和私有,试用了一段时间,觉得还不错,就决定把github上的项目慢慢转过来。转移的步骤很简单: 1. 在git.oschina.net新建你的项目。如果你在github的项目有... 阅读全文
posted @ 2014-06-27 12:18 Craftor 阅读(3550) 评论(0) 推荐(0) 编辑
摘要: Step 1: Convert any text into uint8 type in matlab : Step 2: Add models in matlab : copy the uint8 numbers and put them in Repeating Sequence Stair model: Step 3: Connect your Headphone or... 阅读全文
posted @ 2014-06-27 12:17 Craftor 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 1. Only version not older than R2013 supports Raspberry Pi. First, download support package in Matlab: http://www.mathworks.cn/matlabcentral/fx_files/40313/5/raspberrypi.zip 2. Open raspberrypi.mlpk... 阅读全文
posted @ 2014-06-27 12:16 Craftor 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 1. install lrzsz $ sudo apt-get install lrzsz 2. If you want to send file from your pc to pi, just drag it to the Xshell window. Or, input $ sudo rz then select the f... 阅读全文
posted @ 2014-06-27 11:48 Craftor 阅读(425) 评论(0) 推荐(0) 编辑
摘要: git archive可以将加了tag的某个版本打包提取出来,例如: git archive -v --format=zip v0.1 > v0.1.zip --format表示打包的格式,如zip,-v表示对应的tag名,后面跟的是tag名,如v0.1。 阅读全文
posted @ 2014-06-27 11:45 Craftor 阅读(7944) 评论(0) 推荐(0) 编辑
摘要: test命令格式: test condition 通常,在if-then-else语句中,用[]代替,即[ condition ]。注意:方括号两边都要用空格。1、数值比较 =========================================================== 比 较 描 述 -----------------... 阅读全文
posted @ 2014-06-27 11:44 Craftor 阅读(5403) 评论(0) 推荐(1) 编辑
摘要: expr命令 ======= 最开始,Bourne shell提供了一个特别的命令用来处理数学表达式。expr命令允许在命令行上处理数学表达式,但是特别笨拙: $ expr 1 + 5 6 expr命令能识别一些不同的数字和字符串操作符,如下表: =======================================... 阅读全文
posted @ 2014-06-27 11:40 Craftor 阅读(29092) 评论(1) 推荐(0) 编辑
摘要: ## 查看文件、目录和设备的权限 例如,本人某目录下有如下文件: $ ls -l total 68 -rw-rw-r-- 1 craftor craftor 50 2013-06-02 09:31 file1 -rw-rw-r-- 1 craftor craftor 28 2013-06-03 15:40 file2 -rwxrwxr-x 1 craftor c... 阅读全文
posted @ 2014-06-27 11:39 Craftor 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 用户组类似于用户账户,信息也保存在系统的一个文件中。/etc/group文件包含了系统上用到的每个组的信息。比如,本人的Ubuntu系统上的/etc/group文件前10行内容如下: root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:craftor tty:x:5: disk:x:6: lp:x:7: mail:x:8... 阅读全文
posted @ 2014-06-27 11:35 Craftor 阅读(945) 评论(0) 推荐(0) 编辑
摘要: 原理:Pi使用有线连入网络,然后接USB无线网卡作为热点,提供Wifi接入。 1、有线网络,如果是自动获取IP的,直接接上网线即可。 2、关于USB无线网卡驱动问题。 如果接上USB无线网卡,使用ifconfig命令,能直接看到wlan0,那么恭喜你,可以直接跳过这一步。 官方推荐的无线网卡是TL-WN725N,我上淘宝买了,很不幸,买到的是2.0版的。而官方的驱动只支持1.0,... 阅读全文
posted @ 2014-06-27 11:33 Craftor 阅读(21238) 评论(1) 推荐(0) 编辑
摘要: useradd是Linux添加新用户的命令,这个命令提供了一次性创建新用户账户及设置用户HOME目录结构的简便方法。 1、useradd命令加参数-D参看系统的默认值: # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_... 阅读全文
posted @ 2014-06-27 11:28 Craftor 阅读(59765) 评论(0) 推荐(5) 编辑