摘要:
1. FFTW介绍FFTW由麻省理工学院计算机科学实验室超级计算技术组开发的一套离散傅立叶变换(DFT)的计算库,开源、高效和标准C语言编写的代码使其得到了非常广泛的应用,Intel的数学库和Scilib(类似于matlab的科学计算软件)都使用FFTW做FFT计算。FFTW是计算离散Fourier... 阅读全文
摘要:
硬盘MBR信息损坏原因:硬盘上安装了windows XP和linux双系统,在windows下安装一套软件,破解的时候修改了硬盘的序列号,结果导致引导系统的grub无法完成linux的引导,只能进到windows的引导,在安装windows的时候安装了一个dos工具箱类似的工具,进入windows引... 阅读全文
摘要:
在公司开发的RT下没法使用C库,并且替代库函数没有几个,需要用到setjmp和longjmp函数,没办法,只能自己想办法了,上sourceforge淘换到一个小日本的工程,提供这两个函数的替代源码,名字叫libcont,下载下来发现实在Linux下编译的,查看Makefile文件,使用了GCC和NA... 阅读全文
摘要:
1.下载IT++最新版:http://sourceforge.net/projects/itpp/目前版本是4.0.6;下载intel 数学库 MKL:http://www.intel.com/cd/software/products/asmo-na/eng/307757.htm目前版本是10.1(... 阅读全文
摘要:
虽然单片机的处理能力低下,但是我们还是要尽量榨干它,以最少的资源干更多的事情,所以在单片机上进行多任务处理还是很常见的事情,任务多了,资源还是那些,每个任务得到执行的周期必定拉长,势必会影响任务的实时性。 遇到这种情况,为了保证实时性,都会引入任务调度机制,对于ARM7或更高级的16位或32处理... 阅读全文
摘要:
设计热电偶/热电阻式温度采集电路,将采集值转换成温度值是件麻烦事,因为其温度关系曲线不是线性的,可以近似看作高次方程曲线,而一般采集得到的数据都是用单片机来做温度值转换,让单片机去求解高次方程显然不现实,所以一般都是采用分段线性化的方法来计算温度值,这个分段方法技巧就不去介绍了,这里主要来探讨分段线性化对应表(分度表)的生成,网络上有不少这种表格,但是这种表格一般精度不高,而且不一定符合我们的分段... 阅读全文
摘要:
在工业应用中有很多单片机组网的应用,无论是485网络、CAN网络还是其他什么网络,都会涉及到节点地址的设置问题,下面就来探讨几种地址的设置方式: 硬件设置 在单片机电路板上,加一个拨码开关,以二进制的开关状态表示地址值,拨码开关由单片机的I/O去检测,单片机可以在每次上电去检测一下拨码开关的状态,设置本节点的地址,也可已定期比如500mS去查询一次开关的状态,动态设置本节点地址,建议采用上电检测的... 阅读全文
摘要:
由于AVR的EEPROM写周期比较长(一般为毫秒级),因此在编程使用过程中要特别注意.对于读EEPROM没什么好说的,读一个字节的数据要耗费4个时钟周期,可以忍受,写就比较麻烦了,虽然放在EEPROM的数据都不是频繁访问的;虽然可以用读-比较-写的机制降低EEPROM的写操作频度,但在写入过程中,过长的写入周期还是会造成一些问题,下面就分析一下几种方式的EEPROM写操作. 循环查询式 将地址和数... 阅读全文
摘要:
Python通过gettext模块支持国际化(i18n),可以实现程序的多语言界面的支持,下面是我的多语言支持实现: 在python安装目录下的./Tools/i18n/(windows下例 D:\Program Files\Python25\Tools\i18n)目录中找到pygettext.py运行之,生成翻译文件模版messages.pot,内容大概是这个样子: # SOME DESCRIP... 阅读全文
摘要:
1.下载Cygwin.exe文件,双击安装,首先在"Choose A Download Source"的时候选择"Download Without Installing",Next>.2.选择本地包路径"Select Local Package Directory",即是选择将要下载的软件包的存放路... 阅读全文
摘要:
前段时间接触了几天RTLinux,折腾了好几天才总算把它安装上,得益于Prof. Chang-Gun Lee的安装建议,觉得该文档可能会对准备尝试安装RTLinux的朋友们有帮助,本人英语很烂,也比较懒,好在也没几页,就试着翻译了一下,有需要的朋友可以将就着看看,英语好的可以去看原文.总体感觉,RT... 阅读全文
摘要:
我们知道OD(对象字典)是CANopen的核心,所有功能都是围绕它开展的,是协议栈的数据中心,良好的OD实现是协议栈高效稳定运行的基础,而OD的实现最基本的一点就是怎么去保存它。因为OD的内容比较杂,读写属性上,有只读数据、只写数据、可读写数据;保存要求上有非易失和掉电丢失两种类型;数据类型上有字符... 阅读全文
摘要:
有关节点地址和网络波特率的在线设置等:下载 阅读全文
摘要:
SDO是CANopen协议中最复杂的一部分,带有应答机制,有多种传输方式,并且完整的SDO功能节点需提供1个SDO server和多个SDO client,因此SDO的实现异常困难,协议多种传输方式的解析处理还有迹可循,多个SDO client服务和多个对SDO server的访问的协调就不容易了,... 阅读全文
摘要:
SYNC不一定由主站产生,因此,产生SYNC的节点,0x1005对象的值一般是0x40000080,第30位为1表示本节点产生 SYNC,而本节点的0x1006对象就是产生同步周期值了;而接收SYNC的节点0x1005对象值一般是0x80,第30位是0表示本身不产生 SYNC,而接收COB-ID为0... 阅读全文
摘要:
CANopen专有个子协议用来描述怎样去通过网络设置节点地址和波特率,就是CiA DSP-305,大伙都叫LSS协议,是Layer Setting Services的缩写,不太好翻译,可以叫底层设置服务协议吧。属于主从式服务,类似于NMT的方式,占用2021(for master)和2020(for... 阅读全文
摘要:
SDO是服务数据对象接口(Service Data Obiect)的缩写,顾名思义提供服务数据的访问接口,服务数据就是一些实时性要求不高的数据,一般是指节点配置参数,因此,SDO一般用来配置和获得节点的配置参数。其优先级只比心跳(Heartbeat)高。SDO既然称之为服务,那就要有服务的提供者和使... 阅读全文
摘要:
(于2007.1.31)SYNC是CANopen管理各节点同步数据收发的一种方法,相当于网络节拍,基于同步的PDO按照这个网络节拍来执行实时数据的收发。SYNC属于生产/消费型通讯方式,网络中有且只有一个SYNC生产者,一般有多个消费者,其网络标识符优先级很高,一般设置为0x80,基本上除了NMT优... 阅读全文
摘要:
(于2007.1.22)由于PDO所传输的数据内容是无协议的且分配的标识符范围较SDO靠前,因此,其效率和优先级都是较高的,通常用于实时过程数据的传输.PDO是生产/消费类型的通讯方式,数据只有一个生产者(发送),但是消费者(接收)可以有多个,生产者和消费者事先都已知道数据的类型和内容(通过设置PD... 阅读全文
摘要:
(十年前的旧文,不舍等扔)创建日期:2005-11-17修改日期:2005-11-17文件名称:简单CANOpen 协议说明.doc作者:winshton版本:V1.0(注:本文以24in 24out I/O模块为例说明,对在单片机下实现简单的CANopen简单功能作分析设计,文档中所有功能均已在A... 阅读全文