云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 嵌入式系统课程设计

嵌入式系统课程设计

  • 62 次阅读
  • 3 次下载
  • 2025/5/5 23:29:29

OSStartHighRdy启动就绪态中任务优先级最高的任务。OSIntCtxSw保存被中断任务的一些状态寄存器保存到该模式下的堆栈中,当优先级高的任务完成后,再从堆栈中返回。而OSIntCtxSw_1是任务切换时,对新任务所做的堆栈处理。

4.μC/OS-II的多任务调度

μC/OS-Ⅱ以及绝大多数商业上销售的实时内核都是可剥夺型内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。

5. 根据应用,划分任务,编写程序

四、温度AD转换程序: #include \

#define TASK_STK_SIZE 64 OS_STK Main_TaskStk[TASK_STK_SIZE]; uint32 i,flag; uint32 k,k1,k2,k3; void write(void); int read(void); void delay(uint32 n); void display(void); void task_1(void *p_arg) {

p_arg = p_arg; /* 避免编译警告 */

25

TargetInit(); while(1) {

if(flag==50) { write(); k=read()*100/255*5; k1=k/100; k2=k/10; k3=k; flag=0;

IODIR=0xFFFFff00;

} flag++; i=k1;

IOCLR=0xffff<<16; IOSET=0x1<<24; display(); IOCLR=0x1<<23; delay(50);

i=k2;

IOCLR=0xffff<<16; IOSET=0x1<<25; display(); delay(50);

i=k3;

26

IOCLR=0xffff<<16; IOSET=0x1<<26; display(); delay(50);

} }

/***** 函数名称: main

** 功能描述: c语言的主函数,由它启动多任务环境

******************************************************************************/ int main (void) {

PINSEL0=0x00000000; PINSEL1=0x00000000; OSTaskSuspend(OS_PRIO_SELF);

//suspend itself

IODIR=0xFFFFFFff;

write();

k=read()*100/255*5; k1=k/100; k2=k/10; k3=k;

IODIR=0xFFFFff00;

OSInit();

OSTaskCreate(task_1, (void *)0, &Main_TaskStk[TASK_STK_SIZE - 1], 0); OSStart(); return 0;

27

}

/************************** 相关函数 *****************/ void delay(uint32 n) { int iii,ii;

for(iii=0;iii

} int read() { IODIR=0x0; return (IOPIN & 0xff); }

void write() { IOSET=0x3<<8; //start delay(10); IOCLR=0X3<<8; delay(100);

IOSET=0x1<<11; delay(10); IOCLR=0x1<<11;

}

void display()

ale

28

搜索更多关于: 嵌入式系统课程设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

OSStartHighRdy启动就绪态中任务优先级最高的任务。OSIntCtxSw保存被中断任务的一些状态寄存器保存到该模式下的堆栈中,当优先级高的任务完成后,再从堆栈中返回。而OSIntCtxSw_1是任务切换时,对新任务所做的堆栈处理。 4.μC/OS-II的多任务调度 μC/OS-Ⅱ以及绝大多数商业上销售的实时内核都是可剥夺型内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。 5. 根据应用,划分任务,编写程序 四、温度AD转换程序: #include

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com