1 / 31
文档名称:

编程入门课件.ppt

格式:ppt   页数:31页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

编程入门课件.ppt

上传人:phl19870121 2016/5/4 文件大小:0 KB

下载得到文件列表

编程入门课件.ppt

文档介绍

文档介绍:电子实验中心项目驱动--单片机应用设计技术 . 电子实验中心一、前后台系统与嵌入式系统的不同设计:每按一次按键,发光二极管改变一次状态。(电路略) 1、前后台系统示例程序如下: . 电子实验中心 Sbit LED = P1^1; Sbit KEY = P2^1; Void delay(unsigned int i) { while(i --); } Void main() { while(1) { if(KEY ==0) { . 电子实验中心 delay(1000); if(KEY ==0) { LED != LED; } while(KEY ==0); }} . 电子实验中心? TinyOS 示例程序如下: void main (void) { static void __ taskKEY(void ); static void __ taskLED(void ); __timer0Init(); tnOsInit (); tnOsTaskCreate(__taskKEY , __GucTaskStks[0]); tnOsTaskCreate(__taskLED , __GucTaskStks[1]); tnOsStart (); } . 电子实验中心? static void __ taskKEY (void) ?{? tnOsSemCreate(&__GosSem , 1); ? while (1) { ? while (KEY != 0) ? { ? tnOsTimeDly(TICKS_PER_SEC / 100); ? } ? tnOsSemPost(&osSem ); ? while ( KEY == 0) ? { ? tnOsTimeDly(TICKS_PER_SEC / 100); ? } ? } ?} . 电子实验中心? static void __ taskLED (void) ?{? while (1) ? { ? tnOsSemPend(&__GosSem , 0); ? LED != LED; ? } ?} . 电子实验中心二、嵌入式基础知识当使用操作系统时,如果将这些“可执行的程序单元”进行分类,即可得到在操作系统调度下的“用户任务”,简称任务( Task )。当任务“独占” CPU 的运行期间,则一个任务看不见另一个任务,也就是说,一个任务不可能象调用“子程序”那样调用另一个任务, 因此任务之间的信息传递只能通过“异步”的方式来完成,即由操作系统的各种“通信”机制来实现,比如, 信号量( Semaphore )与消息邮箱( Message Postbox )等。 . 电子实验中心并发性( Concurrent )与调度( Scheduling ?简单应用的典型设计为顺序运行,一次执行一条指令,按预先设定的顺序运行,然而这种模式对于嵌入式实时应用是不合适的,因为通常要在紧密的时间约束内处理多个输入和输出,假设在多 CPU 系统中,每个任务都有自己的 CPU ,那么它们的运行状态就是真正的“并发运行”。 . 电子实验中心并发性( Concurrent )与调度( Scheduling )