1.
EG3 关于嵌入式开发的站点,提供非常多关于嵌入式开发的资料。包括开发公司,技术文档,免费资源等等。版面包括busses & boards,embedded software,dsp,embedded systems,open source,rtos,embedded chips,system-on-a-chip 等等。强烈推荐 http://www.eg3.com/ - 外文
2.
The First Stop for the Latest ICs and Components 非常好的关于微处理器,DSP,可以编程控制器资讯的网站,更新非常快。强烈推荐一些领导级别的人常去,了解行业动态! http://www.eeproductcenter.com/ - 外文
3.
Programmers Heaven - Assembler programming zone 大量的源代码,分类清晰,强烈推荐。但是有很多好像已经不再更新了。 http://www.programmersheaven.com/zone5/index.htm - 外文
4.
吐血推荐的关于ARM开发的网站,收集了非常多ARM开发工具,而且是免费的。 http://www.gnuarm.com/resources.html - 外文
5.
ARM的中文网站,官方网站 http://www.arm.com/chinese/ - 中文
6.
美国Cornell University课程ECE476所完成的项目。 这...

>> 阅读全文

/****************************************************************************Des加密算法广泛应用于公交卡、银行键盘输入保密等系统中,网络上有很多关于Des加密算法的资料,但是大多数都是针对PC机的,这些资料提供的程序占用了大量的内存空间,不适合移植到单片机系统中,因为单片机的RAM空间很小,运算速度也没有PC快,所以我写了如下Des加密算法,并且应用在我的项目中,我是使用NXP2132CPU的,运算速度很快,占用的空间也不大,各位网友引用时请注明出处,也希望能和大家一起交流,谢谢!****************************************************************************/
/***************************************************************************** 文件名:Des.C* 功能:Des加密算法程序* 说明:程序中snr指向8个字节的明文,key指向8个字节的密钥,运行程序后密文保 存在k数组中,可以针对各自的情况进行更改。****************************************************************************/
#include "Des.h"
/***************************************************************************** 常用的全...

>> 阅读全文


ucosII的移植主要是修改os_cpu.h、os_cpu.s、os_cpu.c三个文件。
一、头文件《os_cpu.h》
头文件《os_cpu.h》中定义使用的数据类型,堆栈的增长方向以及开关中断的实现。中断的打开与关闭,在MCU-51移植中这样实现:
#define OS_ENTER_CRITICAL() EA=0 //关中断
#define OS_EXIT_CRITICAL() EA=1 //开中断
#define OS_STK_GROWTH 0 //堆栈向上增长
通过直接调用处理器指令来关闭打开中断。存在一定的问题是:当系统调用后返回中断有可能是打开的。另一种实现方法是,在OS_ENTER_CRITICAL()时先将中断禁止状态保存到堆栈中,然后禁止中断;在OS_EXIT_CRITICAL()时,恢复保存的状态。在ARM移植中可以这样实现的,通过软件中断调用一段汇编代码,软件中断时就已经将cpsr保存到spsr中,在汇编代码中关闭中断即可。如:
#define OS_ENTER_CRITICAL() OsSwiHandle1(1);宏定义,参数1的软中断
ENTER_CRITICAL;汇编代码实现关中断
LDR R1, =OsEnterSum
LDRB R2, [R1]
ADD R2, R2, #1
STRB R2, [R1]
MRS R0, SPSR&l...

>> 阅读全文

嵌入式设计及Linux驱动开发指南——基于ARM9处理器(转)
我也是刚刚接触嵌入式Linux开发,感觉这门技术相对而言需要软件知识(操作系统、C编程)比硬件知识更多些所以这几个星期来,作为一个自动化专业的学生,我深深感觉到自己软件知识的匮乏但毕设又不能不按时完成,为了更快掌握嵌入式开发的知识,同时记录下自己学习的历程,我把读过的这本书摘要记录下来一方面便于自己对知识的整理回顾,另一方面也方便和大家学习交流
这本书由孙天泽、袁文菊、张海峰编著虽称不上经典,但电子工业出版社(我最信赖的出版社)的字号摆在那而且,我把这份笔记贴出来,并不是想以一个老鸟的身份现身说法,而是希望和大家创造一个写读书笔记的氛围,对初学者(包括我自己)的入门以及大家选择图书有所帮助
《嵌入式设计及Linux驱动开发指南--基于ARM9处理器》
读书笔记
第一章嵌入式系统基础
1、 嵌入式系统定义:
"嵌入式系统是用来控制或者监视机器、装置、工厂等大规模系统的设备"
--电气工程师协会
"嵌入到对象体系中的专用计算机系统"
>> 阅读全文

一,概述现在很多的主控上都带有USB的功能,但是对于初学者来说,这方面应用还是比较棘手,因为usb的不但固件程序需要编写,PC端的驱动也要编写,而且驱动写好了还要写个上位机才能看出效果。这样调试起来十分困难,建议从USB的键盘,鼠标开始做,了解清楚了,再做自己的协议就比较简单了。USB的概念历史啥的这里就不说了。我们先不管具体的数据包格式,这一节先从整个包的层面上简单的说,过程是这样的,---------------------------------------设备插入-------------------------------------------------------------1) 主机会轮回查询各个USB端口,主机检测到D+与D-之间有电压差,就认为有新的设置接入。主机等待100ms后发出复位请求。设备接到复位请求后将产生一个外部中断信号。---------------------------------------枚举过程------------------------------------------------------------2) 主机这时候只是知道有新的设备插入了,但是不知道插进来个什么东西,所以就开始询问它是什么设备,怎么用,负荷能力怎么样。这个时侯就进入了枚举过程。因为刚刚插入的设备没有分配地址,就用默认地址0,首先发送一个Get_descriptor(获取设备描述符)指令包,设备接...

>> 阅读全文

孙鑫VC++视频讲座笔记
笔记一:
1,windows程序设计是种事件驱动方式的程序设计,主要基于消息的。当用户需要完成某种功能时,需要调用OS某种支持,然后OS将用户的需要包装成消息,并投入到消息队列中,最后应用程序从消息队列中取走消息并进行响应。2,消息结构:typedef struct tagMSG { // msg HWND hwnd; //接收消息的窗口句柄。和哪个窗口相关联。UINT message; //消息标识。消息本身是什么。WPARAM wParam; //消息的附加信息。具体取决于消息本身。 LPARAM lParam; DWORD time; //消息投递时间。 POINT pt; //消息投递时,光标在屏幕上的位置。 } MSG; 3,消息队列:每个应用程序OS都为它建立一个消息队列,消息队列是个先进先出的缓冲区,其中每个元素都是一个消息,OS将生成的每个消息按先后顺序放进消息队列中,应用程序总是取走当前消息队列中的第一条消息,应用程序取走消息后便知道用户的操作和程序的状态,然后对其处理即消息响应,消息响应通过编码实现。4,使用VC编程除了良好的C基础外还需要掌握两方面:一,消息本身。不同消息所代表的用户操作和应用程序的状态。二,对于某个特定的消息来说,要让OS执行某个特定的功能去响应消息。...

>> 阅读全文

PSoC(可编程片上系统)是Cypress半导体生产的包含有8位微处理器核和数字与模拟混合信号阵列的可编程片上系统。其应用领域与8位的MCU相同。区别于8位的MCU,PSoC的周边数字资源(如定时器、PWM、UART等等)和周边模拟资源(放大器、比较器、滤波器等等)以数字模块和模拟模块的方式提供。不同型号的PSoC芯片的差异主要在于其拥有的数字模块和模拟模块的数量的不同。用户可以根据自己的需要来定义这些模块。PSoC的集成开发环境PSoC Designer也预先为用户定义了七十多个常用的数字和模拟资源供用户选择。如数字资源有:定时器、PWM、UART、SPI、CRC、PRS等等;模拟资源有放大器、比较器、滤波器等等;AD和DA转换器由若干数字模块和模拟模块组合而成。所有这些预定义的模块被称之为用户模块。PSoC Designer也为用户提供这些用户模块的API函数供用户编程时调用。在PSoC Express出现以前,开发PSoC的应用项目与MCU的应用开发相似,使用PSoC Designer集成开发环境根据项目的需要调用和配置资源(用户模块),编写代码(C或汇编),编译,调试….
现在由于PSoC Express可以在更高的抽象概念水平上运行,且无需汇编或C的软件开发,因此设计人员只需要数小时或数天时间即可完成对PS...

>> 阅读全文


10种软件滤波的方法:
1、限幅滤波法(又称程序判断滤波法)   A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A),每次检测到新值时判断:如果本次值与上次值之差A,则本次值无效,放弃本次值,用上次值代替本次值   B、优点:能有效克服因偶然因素引起的脉冲干扰。   C、缺点:无法抑制那种周期性的干扰,平滑度差。   2、中位值滤波法   A、方法:连续采样N次(N取奇数),把N次采样值按大小排列,取中间值为本次有效值。   B、优点:能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果。   C、缺点:对流量、速度等快速变化的参数不宜。   3、算术平均滤波法   A、方法:连续取N个采样值进行算术平均运算。N值较大时:信号平滑度较高,但灵敏度较低;N值较小时:信号平滑度较低,但灵敏度较高。N值的选取:一般流量,N=12;压力:N=4   B、优点:适用于对一般具有随机干扰的信号进行滤波,这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动。   C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用,比较浪费RAM。   4、递推平均滤波法(...

>> 阅读全文