博客园 - Craftor
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=152599
2022-11-22T13:27:38Z
Craftor
https://www.cnblogs.com/craftor/
feed.cnblogs.com
https://www.cnblogs.com/craftor/p/4117293.html
Zynq学习笔记(1) - Craftor
做硬件的第一个实例,一般当然是LED点灯啦~ 硬件:ZedBoard 软件:ISE 14.7 1、新建工程 2、选择平台 3、新建完成后,输入如下代码: `timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: ...
2014-11-23T11:51:00Z
2014-11-23T11:51:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】做硬件的第一个实例,一般当然是LED点灯啦~ 硬件:ZedBoard 软件:ISE 14.7 1、新建工程 2、选择平台 3、新建完成后,输入如下代码: `timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: ... <a href="https://www.cnblogs.com/craftor/p/4117293.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3821824.html
规范的位操作方法 - Craftor
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);
2014-07-03T02:30:00Z
2014-07-03T02:30:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】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); <a href="https://www.cnblogs.com/craftor/p/3821824.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3820027.html
浮点数转换成字符串函数 - Craftor
sprintf函数太大,在STM8上面根本不敢用,动不动就.text overflow。为了将采集的数值通过串口上传到计算机,只能自己写了一个浮点数转换成字符串的函数: #include #include static char table[]={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};void num2char(char *st...
2014-07-02T05:34:00Z
2014-07-02T05:34:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】sprintf函数太大,在STM8上面根本不敢用,动不动就.text overflow。为了将采集的数值通过串口上传到计算机,只能自己写了一个浮点数转换成字符串的函数: #include #include static char table[]={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};void num2char(char *st... <a href="https://www.cnblogs.com/craftor/p/3820027.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811750.html
测试卡尔曼滤波器(Kalman Filter) - Craftor
真实的温度测试数据,通过加热棒加热一盆水测得的真实数据,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...
2014-06-27T04:36:00Z
2014-06-27T04:36:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】真实的温度测试数据,通过加热棒加热一盆水测得的真实数据,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... <a href="https://www.cnblogs.com/craftor/p/3811750.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811748.html
关于按键扫描程序的终极讨论 - Craftor
一、思路 基于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,...
2014-06-27T04:32:00Z
2014-06-27T04:32:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】一、思路 基于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,... <a href="https://www.cnblogs.com/craftor/p/3811748.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811742.html
关于STM8的用户数据空间读写问题 - Craftor
情况是这样的,我的程序里有一个参数,数值不超过1000,我要保存到EEPROM中,那就要分两个字节存放。我用下面的方式保存是正常的: BASE = 0x4000; param = 999; eeprom_write(BASE+0x01, param/256); eeprom_write(BASE+0x02, param%256); ...
2014-06-27T04:28:00Z
2014-06-27T04:28:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】情况是这样的,我的程序里有一个参数,数值不超过1000,我要保存到EEPROM中,那就要分两个字节存放。我用下面的方式保存是正常的: BASE = 0x4000; param = 999; eeprom_write(BASE+0x01, param/256); eeprom_write(BASE+0x02, param%256); ... <a href="https://www.cnblogs.com/craftor/p/3811742.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811739.html
IPv4分析 - Craftor
IPv4的头部格式: 1. Version 版本号,默认是4。 2. IHL(Internet Header Length) 就是IPv4头部长度。这个长度的单位是32bit,一般是5,那么头部的长度就是5x32bit=160bit。 3. DSCP(Differentiated Services Code Point),ECN(Explicit Congestion Notific...
2014-06-27T04:27:00Z
2014-06-27T04:27:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】IPv4的头部格式: 1. Version 版本号,默认是4。 2. IHL(Internet Header Length) 就是IPv4头部长度。这个长度的单位是32bit,一般是5,那么头部的长度就是5x32bit=160bit。 3. DSCP(Differentiated Services Code Point),ECN(Explicit Congestion Notific... <a href="https://www.cnblogs.com/craftor/p/3811739.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811734.html
关于STM8空间不足的解决方法 - Craftor
STM8虽然功能齐全,但是空间不足也是经常出来的情况。要么.text overflow,要么.bss overflow,让人头疼。这里把一些优化方案列出来,让空间得到充分利用: 1、在Project settings下,C Compiler,Optimizations选择Customize 重点是把Split Functions选上。 意思就是只编译用到的函数,不然编译器会很傻地把你用到...
2014-06-27T04:25:00Z
2014-06-27T04:25:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】STM8虽然功能齐全,但是空间不足也是经常出来的情况。要么.text overflow,要么.bss overflow,让人头疼。这里把一些优化方案列出来,让空间得到充分利用: 1、在Project settings下,C Compiler,Optimizations选择Customize 重点是把Split Functions选上。 意思就是只编译用到的函数,不然编译器会很傻地把你用到... <a href="https://www.cnblogs.com/craftor/p/3811734.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811733.html
ubuntu下解决wireshark权限问题 - Craftor
wireshark要监控eth0,但是必须要root权限才行。但是,直接用root运行程序是相当危险,也是非常不方便的。 解决方法如下: 1.添加wireshark用户组 sudo groupadd wireshark 2.将dumpcap更改为wireshark用户组 sudo chgrp wireshark /usr/bin/du...
2014-06-27T04:23:00Z
2014-06-27T04:23:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】wireshark要监控eth0,但是必须要root权限才行。但是,直接用root运行程序是相当危险,也是非常不方便的。 解决方法如下: 1.添加wireshark用户组 sudo groupadd wireshark 2.将dumpcap更改为wireshark用户组 sudo chgrp wireshark /usr/bin/du... <a href="https://www.cnblogs.com/craftor/p/3811733.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811732.html
Keil5编译STM32注意事项 - Craftor
硬件:某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...
2014-06-27T04:22:00Z
2014-06-27T04:22:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】硬件:某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... <a href="https://www.cnblogs.com/craftor/p/3811732.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811730.html
玩了下STM8单片机 - Craftor
偶然的机会,发现STM8真是又便宜又好用啊,哈哈! 买了一个STM8S103F3的小板子,再加一个ST-Link调试器,总共才35块钱!对于我们这种玩习惯了动辄上千上万的FPGA开发板的人来说,就是白菜中战斗机啊! 说一下STM8S103F3的特点吧: 1、电平:支持3.3V~5V 2、内部自带16MHz振荡器 3、中断、定时器、看门狗、IIC、SPI、UART、AD 该有的基本全有了...
2014-06-27T04:21:00Z
2014-06-27T04:21:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】偶然的机会,发现STM8真是又便宜又好用啊,哈哈! 买了一个STM8S103F3的小板子,再加一个ST-Link调试器,总共才35块钱!对于我们这种玩习惯了动辄上千上万的FPGA开发板的人来说,就是白菜中战斗机啊! 说一下STM8S103F3的特点吧: 1、电平:支持3.3V~5V 2、内部自带16MHz振荡器 3、中断、定时器、看门狗、IIC、SPI、UART、AD 该有的基本全有了... <a href="https://www.cnblogs.com/craftor/p/3811730.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811726.html
matlab中使用正弦波合成方波(带动画) - Craftor
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
2014-06-27T04:20:00Z
2014-06-27T04:20:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】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 <a href="https://www.cnblogs.com/craftor/p/3811726.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811724.html
轻松转移github项目步骤 - Craftor
之前有一些项目是托管在github上的,无奈github速度太慢,而且空间有限,还不能有私有项目。后来发现开源中国的git托管(git.oschina.net)还不错,可以托管1000个项目,而且可以选择公开和私有,试用了一段时间,觉得还不错,就决定把github上的项目慢慢转过来。转移的步骤很简单: 1. 在git.oschina.net新建你的项目。如果你在github的项目有...
2014-06-27T04:18:00Z
2014-06-27T04:18:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】之前有一些项目是托管在github上的,无奈github速度太慢,而且空间有限,还不能有私有项目。后来发现开源中国的git托管(git.oschina.net)还不错,可以托管1000个项目,而且可以选择公开和私有,试用了一段时间,觉得还不错,就决定把github上的项目慢慢转过来。转移的步骤很简单: 1. 在git.oschina.net新建你的项目。如果你在github的项目有... <a href="https://www.cnblogs.com/craftor/p/3811724.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/text-converted-into-speech-in-pi.html
Text Converted into Speech in Pi - Craftor
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...
2014-06-27T04:17:00Z
2014-06-27T04:17:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】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... <a href="https://www.cnblogs.com/craftor/p/text-converted-into-speech-in-pi.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811719.html
Configure Pi as simulation hardware for Simulink - Craftor
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...
2014-06-27T04:16:00Z
2014-06-27T04:16:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】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... <a href="https://www.cnblogs.com/craftor/p/3811719.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/send-or-receive-files-via-xshell.html
Send or receive files via Xshell - Craftor
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...
2014-06-27T03:48:00Z
2014-06-27T03:48:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】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... <a href="https://www.cnblogs.com/craftor/p/send-or-receive-files-via-xshell.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811655.html
git archive命令详解 - Craftor
git archive可以将加了tag的某个版本打包提取出来,例如: git archive -v --format=zip v0.1 > v0.1.zip --format表示打包的格式,如zip,-v表示对应的tag名,后面跟的是tag名,如v0.1。
2014-06-27T03:45:00Z
2014-06-27T03:45:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】git archive可以将加了tag的某个版本打包提取出来,例如: git archive -v --format=zip v0.1 > v0.1.zip --format表示打包的格式,如zip,-v表示对应的tag名,后面跟的是tag名,如v0.1。 <a href="https://www.cnblogs.com/craftor/p/3811655.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811648.html
test命令详解 - Craftor
test命令格式: test condition 通常,在if-then-else语句中,用[]代替,即[ condition ]。注意:方括号两边都要用空格。1、数值比较 =========================================================== 比 较 描 述 -----------------...
2014-06-27T03:44:00Z
2014-06-27T03:44:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】test命令格式: test condition 通常,在if-then-else语句中,用[]代替,即[ condition ]。注意:方括号两边都要用空格。1、数值比较 =========================================================== 比 较 描 述 -----------------... <a href="https://www.cnblogs.com/craftor/p/3811648.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811639.html
shell中的数学运算 - Craftor
expr命令 ======= 最开始,Bourne shell提供了一个特别的命令用来处理数学表达式。expr命令允许在命令行上处理数学表达式,但是特别笨拙: $ expr 1 + 5 6 expr命令能识别一些不同的数字和字符串操作符,如下表: =======================================...
2014-06-27T03:40:00Z
2014-06-27T03:40:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】expr命令 ======= 最开始,Bourne shell提供了一个特别的命令用来处理数学表达式。expr命令允许在命令行上处理数学表达式,但是特别笨拙: $ expr 1 + 5 6 expr命令能识别一些不同的数字和字符串操作符,如下表: =======================================... <a href="https://www.cnblogs.com/craftor/p/3811639.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/craftor/p/3811636.html
深入理解文件权限 - Craftor
## 查看文件、目录和设备的权限 例如,本人某目录下有如下文件: $ 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...
2014-06-27T03:39:00Z
2014-06-27T03:39:00Z
Craftor
https://www.cnblogs.com/craftor/
【摘要】## 查看文件、目录和设备的权限 例如,本人某目录下有如下文件: $ 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... <a href="https://www.cnblogs.com/craftor/p/3811636.html" target="_blank">阅读全文</a>