51单片机
武武haha
这个作者很懒,什么都没留下…
展开
-
KEIL 编译出错*** ERROR L107: ADDRESS SPACE OVERFLOW
解决方案: 1.右键单击Target选择“Options for Target'Target1'”就会出来一个框,在memory model中选择compact:variables in pdata 就可以了。 “Keil Cx51编译器提供三条编译模式控制命令:SMALL,COMPACT,LARGE,它们对变量存储器空间的影响如下。SMALL:所有变量都被定义在8051单片机的片内RA转载 2014-07-01 01:19:20 · 3304 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之七——图说嵌入式微系统两大法门:注册机制与消息机制
http://www.eefocus.com/embedded/328265注册机制在嵌入式编程中很少提到,但回调函数大家经常接触,以软件定时器为例: 软件定时器设备通过函数Start把FunctionCallback作为参数传入定时器设备中保存,之后开启定时器,延时1000ms之后,定时器就会直接调用FunctionCallback,所以这个Fun转载 2014-07-04 01:19:57 · 879 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之八——嵌入式微系统的发令枪:系统节拍与软件定时器
http://www.eefocus.com/embedded/328388系统节拍是非常重要的一个设备,在早期的MCU51和ARM7芯片中,没有专门的系统节拍,往往由一路硬件定时器来实现其功能,到了Cortex系列,ARM提供了Systick硬件定时器专门用于系统节拍,可见现在的编程对系统节拍的依赖性。系统节拍的概念比较早的出现在OS中,产生固定间隔的重复中断转载 2014-07-04 01:21:03 · 792 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之九——嵌入式微系统的操作台:面向对象的界面编程
http://www.eefocus.com/embedded/328567转载 2014-07-04 01:22:02 · 678 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之十一——嵌入式微系统创新的裸奔双任务系统
http://www.eefocus.com/embedded/328888转载 2014-07-04 01:22:38 · 816 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》 目录
《国产嵌入式微系统msOS成型记》之终结篇——嵌入式微系统msOS的出发点:应用(2014-07-04 01:24)待审核00禁止评论编辑 | 置顶 | 删除 | 分类《国产嵌入式微系统msOS成型记》之十——嵌入式微系统的筋骨:精简uC/OS-II(2014-07-04 01:23)待审核00禁止评论原创 2014-07-04 01:29:50 · 795 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之十——嵌入式微系统的筋骨:精简uC/OS-II
http://www.eefocus.com/embedded/328643uC/OS-II是最早进入国内的一款开源RTOS,因为代码开源,又有配套的书籍,加上不大的代码量,在嵌入式群体中最为流行。在写“实用单片机系统”第一版之后,就接触了uC/OS-II,虽然大致的明白其工作原理,但一直似懂非懂,尤其有太多的宏定义,严重的干扰了源码的阅读,加上RTOS带来太多的概念,而这些概转载 2014-07-04 01:23:03 · 709 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之六——我们是怎样搭建嵌入式微系统的设备的
http://www.eefocus.com/embedded/328030System结构体封装了整个系统层,让App很容易基于System跨平台,那么System内部该如何组织? ARM公司推荐嵌入式开发遵循CMSIS架构,用户应用程序可以调用实时内核(OS)、中间件等,也可以直接调用底层硬件基于CMSIS标准的函数接口,比如ST公司发布的转载 2014-07-04 01:17:25 · 877 阅读 · 0 评论 -
程序员生存定律--目录
http://blog.csdn.net/leezy_2000/article/details/29407747转载 2014-07-04 00:07:51 · 410 阅读 · 0 评论 -
C语言中的static 详细分析
static和extern定义的变量都是在静态存储区分配存储单元的。在C语言中可以同时建立多个文件,可将不让其他文件引用的本文件中的全局变量都加上static,成为静态全局变量,对其他文件屏蔽起来,而extern的功能刚好相反。转载 2014-07-06 00:35:23 · 467 阅读 · 0 评论 -
C中的volatile用法
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i;转载 2014-07-09 13:49:17 · 376 阅读 · 0 评论 -
51单片机常用波特率初值表(12M晶振)
http://blog.csdn.net/sjmping/article/details/8053301 为什么51单片机的晶振一般使用11.0592? 用11.0592晶振的原因是51单片机的定时器导致的。用51单片机的定时器做波特率发生器时,如果用11.0592Mhz的晶振,根据公式算下来需要定时器设置的值都是整数;如果用12Mhz晶振,则波特率都是有偏差的,比如9600,转载 2014-12-25 13:37:32 · 4301 阅读 · 0 评论 -
C语言中 \0 代表什么?
http://baike.baidu.com/link?url=ReWdi1_kisb72fv8kq0YwDMVJyQElISZYKAAzrlF8M5S8OhjNuYKm1Y4Ju7TxaE_gVNgmC59AwCyncg8A_5q_K'\0' 是字符串的结束符,任何字符串之后都会自动加上'\0'。\0是C++中字符串的结尾标志,存储在字符串的结尾。比如char cha[5转载 2014-12-25 19:05:28 · 9108 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之五——从嵌入式微系统的软件架构说起
嵌入式微系统架构是C#与CMSIS架构的复合体,如下图所示: 基于C#标准,分为应用层App与系统层System两层。采用两个大结构体AppStruct和SystemStruct把它们各自封装起来。 Appstruct里封装了两个结构体:Data和Menu。两者都是应用层的数据类型。Data是应用层业务逻辑所涉及的传感器、驱动器转载 2014-07-04 01:16:00 · 807 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之四——嵌入式微系统msOS的诞生
http://www.eefocus.com/embedded/327768-msOS为了解决多人协作,多种需求产品的开发,并且还要长期维护,必须要把这些产品的共性提取出来。1、 不需要低功耗设计。2、 传感器类和驱动器类属于单一功能的设备,传统前后台架构的MS3即可。3、 电源类及控制类设备都属于功能复杂的,实时性要求高,带有屏幕显示,外扩多路转载 2014-07-04 01:15:55 · 1129 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之二——中低端嵌入式软件平台的困局
嵌入式领域有不少操作系统,大致可以三类:第一类以Wince、Linux、Android为代表的,属于大型操作系统,拥有内核任务调度、菜单界面、多媒体、网络、文件存储、外设驱动等一系列完善的功能,但这类操作系统属于非实时操作系统,往往用于办公、娱乐、人机接口等对时间要求不高的场合。此外因为功能太完善,对硬件的要求很高,最低配置CPU需要ARM9 200MHz,内存需要32MByte,支持MMU内存管转载 2014-07-04 01:10:37 · 731 阅读 · 0 评论 -
C51头文件 STRING.H
3.3 STRING.H:串函数串函数通常将指针串作输入值。一个串就包括2个或多个字符。串结以空字符表示。在函数memcmp,memcpy,memchr,memccpy,memmove和memset中,串长度由调用者明确规定,使这些函数可工作在任何模式下。函数名: memchr原 型: extern void *memchr(void *sl, char val,int len);转载 2014-07-01 00:44:56 · 1877 阅读 · 0 评论 -
c51编程中sbit 和bit有什么区别
不是C语言里的,是C51里的(单片机的C扩展的)bit 是变量类型,相当于boot 只占一个位,最多可定128个bit变量sbit 是给可位寻址的变量(或特殊功能寄存器)的某一个位定个别名,不另占空间如: bit YesOrNo; //定义bit型变量 占用bdata区的一个位 sbit P0_1 = P0^1; //申明一个引用名 P0_1 指向端口P0的1号接脚,转载 2014-06-30 23:09:19 · 7924 阅读 · 1 评论 -
51单片机模拟I2C总线(我见过最好的,与大家共享)
#include #include #include #define DELAY_TIME 60 /*经实验,不要小于50!否则可能造成时序混乱*/ #define TRUE 1 #define FALSE 0 sbit SCL=P1^7;/*假设由P1.7和P1.6控制*/ sbit SDA=P1^6;/*****转载 2014-07-01 00:35:42 · 11899 阅读 · 3 评论 -
intrins.h 简介
intrins.h 在C51单片机编程中,头文件INTRINS.H的函数使用起来,就会让你像在用汇编时一样简便.内部函数 描述 _crol_ 字符循环左移 _cror_ 字符循环右移 _irol_ 整数循环左移 _iror_ 整数循环右移 _lrol_ 长整数循环左移 _lror_ 长整数循环右移 _nop_ 空操作805转载 2014-06-30 23:33:02 · 1014 阅读 · 0 评论 -
kile中*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: WEEK是什么意思。
重复定义了,这种情况很多时候是发生在头文件包含当中,比如你在一个头文件里面定义了int week; 又在多个c文件当中包含了就会有命名冲突因此,一般定义都放在.C文件当中,要是需要给其它模块用,就在头文件里面用 extern 声明,如:extern int week;转载 2014-06-30 23:58:45 · 2956 阅读 · 0 评论 -
单片机中断中 void time0() interrupt 1 using 1中的interrupt 1 和 using 1各代表什么意思
http://zhidao.baidu.com/link?url=2bwASujTRx_uCeQpl_IHHG4RomlhcZAwkR9gc-1t0vEk8Cpno3xoKtl9Xa1OtgoHo_3AP2r0WJjuIkYRZQBLIq转载 2014-07-02 14:07:45 · 34055 阅读 · 1 评论 -
关于掉电保存数据的思考
我是搞仪表的,基本工作简单说就是弄个人机界面把一些参数存储到flash。程序就是根据这些参数运行,实现一个个软件功能。有些软件模块需要记忆一些变量,目的是再次上电后能继续运行。为了实现这个功能我们基本上有两条路可以走。一是用电池给ram供电,掉电不丢;二是掉电进掉电中断,把你要保存的数据保存下来。我们以前都是走第一条路的,走的还不错。主要的问题就是不同的时间点掉电,数据可能没有完全修改完,转载 2014-07-02 19:57:22 · 2444 阅读 · 0 评论 -
单片机软件设计思路
http://www.docin.com/p-636758222.htmlhttp://wenku.baidu.com/link?url=DxZbNMZO02NMrgJ5n6ZC_hKqBXZuoqyXSje4smsGUsTMD1wnkrTF7CFAxdNi61mrdycBZjXwbf0qc6p5f1UslTpkeCSl8iUwnh_XTzubN77转载 2014-07-02 22:20:35 · 2280 阅读 · 0 评论 -
单片机 状态机编程
有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软 件上称为FMM--有限消息机)。它把复杂的控制逻辑分解成有限个稳定状态,在每个状态 上判断事件,变连续处理为离散数字处理,符合计算机的工作特点。同时,因为有限状 态机具有有限个状态,所以可以在实际的工程上实现。但这并不意味着其只能进行有限 次的处理,相反,有限状态机是闭环系统,有限无穷,可以用有限的状态,处理无穷的转载 2014-07-02 23:37:38 · 3802 阅读 · 1 评论 -
《国产嵌入式微系统msOS成型记》之三——msOS的需求来源
http://www.eefocus.com/embedded/3274342001年我大学毕业后去了中科院半导体所工作,第一次真正接触了MCU51下的C语言开发,项目组要求项目中的功能尽可能封装成一个个的功能子函数,便于维护,所以一个项目就是由各个功能子函数组成的。但我因为在所里时间较短,没有真正参与其中,只是接触了这个概念,觉得这个非常好,也在自己心中暗暗的下了一个决心,今后要建立转载 2014-07-04 01:12:03 · 618 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之终结篇——嵌入式微系统msOS的出发点:应用
http://www.eefocus.com/embedded/329047msOS设计的本意是为电子类设备及PLC设计的,一开始想着仿造西门子的S7-300来设计一套基于CAN通讯的分布式PLC,然而当设计了几个硬件模块之后就发现,这个需求定义超出了我的个人能力,自己的综合知识还没有上到这个层面,所以开始退而求其次,仿照普通的PLC,结合华禹工控及俊知机械的需求设计了一款转载 2014-07-04 01:24:43 · 1207 阅读 · 0 评论 -
《国产嵌入式微系统msOS成型记》之一——何为嵌入式微系统
序读过与非网推出的《嵌入式操作系统史话》,通过何老师的讲述,我们应该对嵌入式操作系统的门派、历史、演进以及未来发展趋势有了较全面和深入的认识。 其中,几乎所有嵌入式操作系统革新性的技术节点都始于欧美国家,国内产业者始终扮演追随者的角色。 但我们也要看到,国内的开发者们一直没有放弃努力,虽然一个个先驱成为先烈,如红旗Linux、都江堰等,仍挡不住一批批后继者涌转载 2014-07-04 01:07:02 · 1308 阅读 · 0 评论 -
STC单片机 定时器时钟FOSC 1T 12T、定时器模式
STC单片机可以设置12T,1T等不同的工作方式,12T和标准51单片机是一样的,一个机器周期为12/Fosc,如果选1T的话一个机器周期应该是1/Fosc.转载 2014-07-02 16:57:24 · 19315 阅读 · 0 评论