摘要: 做硬件的第一个实例,一般当然是LED点灯啦~ 硬件:ZedBoard 软件:ISE 14.7 1、新建工程 2、选择平台 3、新建完成后,输入如下代码: `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: ... 阅读全文
posted @ 2014-11-23 19:51 Craftor 阅读(2614) 评论(0) 推荐(0) 编辑
摘要: 1、将uint8_t型变量A的第6位(bit5)清零,其他位不变。 A &= ~(1<<5); 1左移5位,得到0010 0000 按位取反,得到1101 1111 所得数再A相或,第6位被置0,其它位不变。2、同理,将A的第6位置1。 A |= (1<<5);3、将A的第6位取反。 A ^= (1<<5); 阅读全文
posted @ 2014-07-03 10:30 Craftor 阅读(1910) 评论(0) 推荐(0) 编辑
摘要: sprintf函数太大,在STM8上面根本不敢用,动不动就.text overflow。为了将采集的数值通过串口上传到计算机,只能自己写了一个浮点数转换成字符串的函数: #include #include static char table[]={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};void num2char(char *st... 阅读全文
posted @ 2014-07-02 13:34 Craftor 阅读(23358) 评论(0) 推荐(0) 编辑
摘要: 真实的温度测试数据,通过加热棒加热一盆水测得的真实数据,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 阅读(9112) 评论(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 阅读(14100) 评论(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 阅读(1244) 评论(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 阅读(5965) 评论(0) 推荐(0) 编辑
摘要: STM8虽然功能齐全,但是空间不足也是经常出来的情况。要么.text overflow,要么.bss overflow,让人头疼。这里把一些优化方案列出来,让空间得到充分利用: 1、在Project settings下,C Compiler,Optimizations选择Customize 重点是把Split Functions选上。 意思就是只编译用到的函数,不然编译器会很傻地把你用到... 阅读全文
posted @ 2014-06-27 12:25 Craftor 阅读(6468) 评论(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 阅读(12129) 评论(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 阅读(30478) 评论(0) 推荐(0) 编辑