历史上的今天
返回首页

历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2020年10月12日 | ucos-ii示例1:新建任务

2020-10-12 来源:eefocus

环境:


主机:WIN8


开发环境:MDK4.72


ucgui版本:3.90


ucos版本:ucos-ii


mcu: stm32f103VE


说明:


本示例新建两个任务,并运行。


注意:


1.不同任务的任务优先级必须不一样,否则只运行首先定义的任务


2.从系统时钟设置必须在内核启动后设置,否则会导致OSIntNesting一直为1,从而OS_TaskStat函数因为OSTimeDly函数一直返回0陷入死循环



//系统时钟设置,1ms嘀嗒一次

if (SysTick_Config(SystemCoreClock / OS_TICKS_PER_SEC))

while (1);

}

效果图:


源码:



#define TASK_STK_SIZE 512

/*********************************************************************

* 静态函数

**********************************************************************/

 

static void task_start(void *pdata);

static void task1(void *pdata);

static void task2(void *pdata);

 

/*********************************************************************

* 静态变量

**********************************************************************/

 

/*********************************************************************

* 任务堆栈空间

**********************************************************************/

 

static OS_STK Task_Start_Stk[TASK_STK_SIZE];

static OS_STK Task1_Stk[TASK_STK_SIZE];

static OS_STK Task2_Stk[TASK_STK_SIZE];

 

/*********************************************************************

* 信号量

**********************************************************************/

 

OS_EVENT *Semaphore;

 

/*********************************************************************

* 函数

**********************************************************************/

 

int main(void)

{

//初始化内核

OSInit();

//创建任务

OSTaskCreate(task_start,(void *)0,Task_Start_Stk + TASK_STK_SIZE - 1,0);

//启动任务

OSStart();

}

 

/*********************************************************************

* 任务函数

**********************************************************************/

 

static void task_start(void *pdata)

{

//载入世界

world_load();

//设置背景色

GUI_SetBkColor(0xb07c17);

GUI_Clear();

GUI_SetColor(GUI_BLACK);

//新建任务

OSTaskCreate(task1,(void *)0,Task1_Stk + TASK_STK_SIZE - 1,1);

OSTaskCreate(task2,(void *)0,Task2_Stk + TASK_STK_SIZE - 1,2);

while(1)

{

OSTimeDlyHMSM(0,0,3,0);

}

}

 

static void task1(void *pdata)

{

char str[30] = {0};

uint8_t err = 0;

 

while(1)

{

//显示

sprintf(str,"task1 time:%ds",OSTimeGet() * 10);

GUI_DispStringHCenterAt(str, 120, 5);

WM_Exec();

OSTimeDlyHMSM(0,0,1,0);

}

}

 

static void task2(void *pdata)

{

char str[30] = {0};

 

while(1)

{

//显示

sprintf(str,"task2 time:%ds",OSTimeGet() * 10);

GUI_DispStringHCenterAt(str, 120, 20);

WM_Exec();

OSTimeDlyHMSM(0,0,3,0);

}

}


推荐阅读

史海拾趣

Formosa MS公司的发展小趣事

在电子行业,Formosa MS(美丽微半导体股份有限公司)的发展过程中,有几个关键的故事可以体现其成长历程。以下是根据公开信息整理的五个相关故事:

1. 创立与初期发展

Formosa MS成立于民国八十五年七月(即1996年),由杨照霞女士创办。公司初期便确立了“新速勤俭、创造利润、热诚信义、前瞻未来”的经营理念,致力于在二极管领域进行创新。在整流二极管逐渐转移至中国大陆生产的背景下,Formosa MS选择专注于生产附加值较高的产品,如萧基二极管,这一战略决策为公司后续发展奠定了坚实基础。

2. 产品创新与多元化

随着技术的不断进步,Formosa MS不断推出新产品以满足市场需求。公司现有产品分类广泛,从0.1安培至三十安培的各类二极管均有产制,且产能规划每月超过200KK,涉及焊接、成型、测试等多个生产环节。此外,公司还实现了产品的多元化,包括一般、快速及超快速二极管等多种类型,进一步增强了市场竞争力。

3. 国际化布局

Formosa MS在发展过程中,积极拓展国际市场。公司的销售客户遍布全球,不仅服务于国内半导体制造商的OEM及中间电子零件贸易商,还通过自有品牌行销,赢得了世界各地客户的广泛好评。其应用类别涵盖通信、车用、AI及穿戴装置等多个领域,展现了公司在电子行业中的广泛影响力。

4. 品质至上与服务优先

Formosa MS始终将品质视为企业的生命线,坚持“品质至上、服务优先、顾客满意”的质量政策。公司严格遵循戴明博士的品质理念,致力于提供满足顾客需求的产品与服务。这种对品质的执着追求,使得Formosa MS在电子行业中树立了良好的口碑,赢得了客户的信赖与支持。

5. 应对行业变革与持续创新

面对电子行业的快速变革,Formosa MS始终保持敏锐的洞察力,积极应对市场变化。公司不断投入研发,推动技术创新,以适应行业发展的新趋势。同时,公司还注重人才培养和团队建设,为企业的持续发展提供了有力保障。正是凭借这种持续创新的精神和强大的团队实力,Formosa MS在电子行业中不断取得新的突破和发展。

需要注意的是,由于具体细节可能涉及公司内部的商业秘密,以上故事主要基于公开信息进行概括和整理。如需更详细的信息,建议直接访问Formosa MS的官方网站或查阅相关行业报告。

Bestar Electric公司的发展小趣事

随着电子行业的快速发展和市场竞争的加剧,Bestar Electric面临着诸多挑战。为了应对这些挑战,公司不断调整战略方向,加大研发投入,提升产品技术含量和附加值。同时,公司还注重人才培养和团队建设,吸引了一批优秀的研发、销售和管理人才,为公司的发展提供了有力保障。

Daykin Electric Corp公司的发展小趣事

1958年,大金推出了采用旋转式压缩机的家用空调机,这标志着公司正式进军家用空调市场。在当时,家用空调在日本市场还处于起步阶段,大金凭借其技术优势和敏锐的市场洞察力,迅速占领了市场份额。

3D PLUS公司的发展小趣事

面对日新月异的电子行业,3D PLUS公司始终保持创新精神,不断推动3D技术的升级。公司研发团队成功研发出全方位彩色人体扫描仪,这一设备能够在极短的时间内实现360度人像扫描,且清晰度极高,为互联网人体应用提供了强有力的支持。此外,公司还不断在软件、算法等方面进行优化,提升3D技术的精度和效率,满足市场的不断需求。

Deutron Electronics Corp公司的发展小趣事

为了进一步提升竞争力,Deutron Electronics Corp积极寻求国际合作与并购机会。公司与多家国际知名电子企业建立了战略合作关系,共同研发新产品和技术。同时,公司还成功收购了几家具有核心技术的电子企业,增强了自身的研发和生产能力。这些合作与并购为Deutron Electronics Corp带来了更多的发展机遇和市场空间。

Antenova公司的发展小趣事

除了优秀的产品外,Antenova公司还提供一系列专业的服务,包括产品结构确认和指导、主板Gerber文件和PCB堆叠预审和检查等。这些服务帮助客户更好地使用Antenova的产品,并提高了客户的满意度和忠诚度。通过提供卓越的服务,Antenova赢得了众多客户的信赖和支持,为公司的长期发展奠定了坚实基础。

问答坊 | AI 解惑

特种单片开关电源模块的电路设计

与传统的开关电源相比,特种集成开关电源具有电路新颖、功能奇特、性能先进、应用领域较为广泛等特点。详细介绍了两种新型特种单片开关电源模块的电路设计,一种是2.5W恒压/恒流式充电器模块,另一种是带以太网接口的15WDC/DC电源变换器模块。 关 ...…

查看全部问答>

网络摄像机各个部分的技术浅析

  关键字:网络摄像机   网络摄像机是传统摄像机与网络视频技术相结合的新一代产品,除了具备一般传统摄像机所有的图像捕捉功能外,机内还内置了数字化压缩控制器和基于WEB的操作系统,使得视频数据经压缩加密后,通过网络送至终端用户。本文 ...…

查看全部问答>

MFC requires WINVER to be #defined to 0x0400 or greater

MFC requires WINVER to be #defined to 0x0400 or greater…

查看全部问答>

C8051F060

谁能给我一个C8051F060的16位高速AD采集的原理图 小弟的邮箱:hgl_killer@yahoo.com.cn 多谢…

查看全部问答>

计算机组成原理课程设计、电子钟、电子琴、智能交通灯电路图!用8255!~和汇编程序!

各位高手:今年计算机组成原理课程设计,电子钟,电子琴,智能交通灯! 这些电路图!我们是用实验箱做实验的!主要电路图不会画  和借口不知道从哪接! 希望大家能看看有没有会的,和做过这样的课程设计!还有相关的汇编语言程序! 希 ...…

查看全部问答>

STM32实现SPI简单通信配置

/******************************************************* 说明:        次程序成功实现SPI简单通信配置,能实现SPI1发送 数据,SPI2接收数据简单通信功能,仅供测试使用。 *********************************** ...…

查看全部问答>

南华大学黄智伟系列 --2011年赛前赛题大分析!

本帖最后由 paulhyde 于 2014-9-15 09:27 编辑 2011.8.25全国大学生电子设计竞赛组委会专家组在网上公布本次全国大学生电子设计竞赛需要的基本仪器和主要元器件清单,以便参赛学校做好准备。通过对所公布的基本仪器和主要元器件清单进行分析,可以 ...…

查看全部问答>

LM3S中断程序调通了!

   经过奋斗,LM3S811的中断程序调通了! ** Created By:                    hu_hejiaun lai_qingmin** Created date:  & ...…

查看全部问答>