久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2857|回復: 0
打印 上一主題 下一主題
收起左側

uCOS-II+VS2012源程序

[復制鏈接]
跳轉到指定樓層
樓主
利用提供的uc-os工程,實現兩個任務之間的通信。要求自行建立兩個任務TaskA和TaskB,利用進程間通信工具mailbox進行實現,任務A定期發送(post)給任務B你的學號,和一個計數碼,計數碼每次發送自增1;任務B掛起(pend)在相同的mailbox上,接收到任務A從mailbox發送的數據后,打印出來你的名字+從任務A接收到的數據。

要求:
提供任務A和任務B輸出的結果,任務A要打印出你的學號和序列號和一串A,任務b要打印出你的名字、學號和序列號以及一串B。


例如:
任務A打印:
“ 學號:012345678:序列號 20—AAAAAAAAAAA”
任務B打印:
“張某甲:學號02345678:序列號20----BBBBBBBBBBBBB”


源程序如下:
  1. /*
  2. *********************************************************************************************************
  3. *                                               uC/OS-II
  4. *                                         The Real-Time Kernel
  5. *
  6. *                             (c) Copyright 1998-2004, Micrium, Weston, FL
  7. *                                          All Rights Reserved
  8. *
  9. *
  10. *                                            WIN32 Sample Code
  11. *
  12. * File : APP.C
  13. * By   : Eric Shufro
  14. *********************************************************************************************************
  15. */

  16. #include <includes.h>

  17. /*
  18. *********************************************************************************************************
  19. *                                                CONSTANTS
  20. *********************************************************************************************************
  21. */

  22. #define  TASK_STK_SIZE    128
  23. #define  TASK_START_PRIO    5

  24. /*
  25. *********************************************************************************************************
  26. *                                                VARIABLES
  27. *********************************************************************************************************
  28. */

  29. OS_STK        AppStartTaskStk[TASK_STK_SIZE];

  30. /*
  31. *********************************************************************************************************
  32. *                                            FUNCTION PROTOTYPES
  33. *********************************************************************************************************
  34. */

  35. static  void  AppStartTask(void *p_arg);

  36. #if OS_VIEW_MODULE > 0
  37. static  void  AppTerminalRx(INT8U rx_data);
  38. #endif

  39. /*
  40. *********************************************************************************************************
  41. *                                                _tmain()
  42. *
  43. * Description : This is the standard entry point for C++ WIN32 code.  
  44. * Arguments   : none
  45. *********************************************************************************************************
  46. */

  47. void main(int argc, char *argv[])
  48. {
  49.         INT8U  err;


  50. #if 0
  51.     BSP_IntDisAll();                       /* For an embedded target, disable all interrupts until we are ready to accept them */
  52. #endif

  53.     OSInit();                              /* Initialize "uC/OS-II, The Real-Time Kernel"                                      */

  54.     OSTaskCreateExt(AppStartTask,
  55.                     (void *)0,
  56.                     (OS_STK *)&AppStartTaskStk[TASK_STK_SIZE-1],
  57.                     TASK_START_PRIO,
  58.                     TASK_START_PRIO,
  59.                     (OS_STK *)&AppStartTaskStk[0],
  60.                     TASK_STK_SIZE,
  61.                     (void *)0,
  62.                     OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

  63. #if OS_TASK_NAME_SIZE > 11
  64.     OSTaskNameSet(APP_TASK_START_PRIO, (INT8U *)"Start Task", &err);
  65. #endif

  66. #if OS_TASK_NAME_SIZE > 14
  67.     OSTaskNameSet(OS_IDLE_PRIO, (INT8U *)"uC/OS-II Idle", &err);
  68. #endif

  69. #if (OS_TASK_NAME_SIZE > 14) && (OS_TASK_STAT_EN > 0)
  70.     OSTaskNameSet(OS_STAT_PRIO, "uC/OS-II Stat", &err);
  71. #endif

  72.     OSStart();                             /* Start multitasking (i.e. give control to uC/OS-II)                               */
  73. }
  74. /*$PAGE*/
  75. /*
  76. *********************************************************************************************************
  77. *                                          STARTUP TASK
  78. *
  79. * Description : This is an example of a startup task.  As mentioned in the book's text, you MUST
  80. *               initialize the ticker only once multitasking has started.
  81. * Arguments   : p_arg   is the argument passed to 'AppStartTask()' by 'OSTaskCreate()'.
  82. * Notes       : 1) The first line of code is used to prevent a compiler warning because 'p_arg' is not
  83. *                  used.  The compiler should not generate any code for this statement.
  84. *               2) Interrupts are enabled once the task start because the I-bit of the CCR register was
  85. *                  set to 0 by 'OSTaskCreate()'.
  86. *********************************************************************************************************
  87. */

  88. void  AppStartTask (void *p_arg)
  89. {
  90.     p_arg = p_arg;

  91. #if 0
  92.     BSP_Init();                                  /* For embedded targets, initialize BSP functions                             */
  93. #endif


  94. #if OS_TASK_STAT_EN > 0
  95.     OSStatInit();                                /* Determine CPU capacity                                                     */
  96. #endif
  97.    
  98.     while (TRUE)                                 /* Task body, always written as an infinite loop.                             */
  99.         {                       
  100.                 OS_Printf("Delay 1 second and print\n");  /* your code here. Create more tasks, etc.                                    */
  101.         OSTimeDlyHMSM(0, 0, 1, 0);      
  102.     }
  103. }
復制代碼

所有資料51hei提供下載:
uCOS-II+VS2012_完美仿真.7z (4.42 MB, 下載次數: 20)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色在线免费视频 | 久久久久久久久久久一区二区 | 又黑又粗又长的欧美一区 | 红桃视频一区二区三区免费 | 四虎在线观看 | 亚洲国产精品久久久久久 | 国产激情一区二区三区 | 97伦理电影 | 国产免费播放视频 | 免费亚洲网站 | 欧美一级二级视频 | 国产日韩视频在线 | 日韩精品一区二区三区 | 在线观看日韩 | 日韩欧美在线观看视频 | 91天堂| 国产精品欧美一区二区三区 | 久久久入口 | 免费激情 | 天天干天天玩天天操 | 久久一热 | 亚洲精品久久久久久首妖 | 欧美成人免费在线视频 | 国产h视频| 欧美福利| 爱操影视 | 在线日韩视频 | 国产午夜精品久久久久免费视高清 | 成人一区二区三区在线 | 日韩欧美三级电影在线观看 | 亚洲欧美综合精品另类天天更新 | 久久国产亚洲精品 | 色欧美综合| 亚洲+变态+欧美+另类+精品 | www国产成人免费观看视频,深夜成人网 | 日韩欧美在线观看 | 欧美国产日韩一区 | 亚洲一区在线日韩在线深爱 | 欧美在线视频一区二区 | 久久精品在线 | 亚洲视频一区二区三区 |