1 / 31
文档名称:

编程入门.ppt

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

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

分享

预览

编程入门.ppt

上传人:gyzhluyin 2017/10/27 文件大小:1.09 MB

下载得到文件列表

编程入门.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)
.