⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zi-dong-shou-cha-ji.txt

📁 嵌入式应用自动售茶机ucos操作系统应用的模拟实现
💻 TXT
字号:
/*******************************************************************************************************
*                             嵌入式应用 自动售 茶机   
*                           uc\os操作系统应用的模拟实现

******************************************************************************************************* /
#include "includes.h"
#include"dos.h"
/*******************************************************************************************************
*                               CONSTANTS
*******************************************************************************************************/
#define       TASK_STK_SIZE   512             /* Size of each task's stacks (# of WORDs)   */   

#define       TASK_START_ID       0           /* Application tasks priorities         */ 
#define       TASK_0_ID         1
#define       TASK_1_ID         2             /*作业控制任务     */
#define       TASK_2_ID         3             /*倒茶任务     */
#define       TASK_3_ID         4             /*取茶任务     */
#define       TASK_4_ID         5             /*管理员任务     */

#define       TASK_START_PRIO       10      /* Application tasks priorities         */ 
#define       TASK_0_PRIO         11
#define       TASK_1_RPIO         12           /*作业控制任务     */
#define       TASK_2_PRIO         13           /*倒茶任务     */
#define       TASK_3_PRIO         14           /*取茶任务     */
#define       TASK_4_PRIO         15           /*管理员任务     */

/*
*********************************************************************************************************
*                               VARIABLES
*********************************************************************************************************
*/
void interrupt far (*OldInt9Handler) ();       /* keyboard intrrupt */
char key_state[128], key_pressed[128];

OS_STK     TaskStartStk[TASK_STK_SIZE];        /* Startup   task stack                 */                 
OS_STK     Task0Stk[TASK_STK_SIZE];           /* Task #0   task stack                 */
OS_STK     Task1Stk[TASK_STK_SIZE];           /* Task #1   task stack                 */
OS_STK     Task2Stk[TASK_STK_SIZE];           /* Task #2   task stack                 */
OS_STK     Task3Stk[TASK_STK_SIZE];           /* Task #3   task stack                 */
OS_STK     Task4Stk[TASK_STK_SIZE];           /* Task #4   task stack                 */

OS_EVENT   *Tea_Make_SSem;                      /*控制倒茶任务的信号量   */
OS_EVENT   *Tea_Get_SSem;                        /* 控制取茶任务的信号量   */


OS_EVENT   *Ack_MakSem;                          /* 报告倒茶完成的信号量 */   
OS_EVENT   *Ack_GetSem;                          /* 报告取茶完成的信号量 */ 
OS_EVENT   *Ack_AdminSem;                      /* 报告取茶完成的信号量 */

OS_EVENT   *Receive_Coin;                        /*控制投币的信号量*/
OS_EVENT   *Tea_Make_Red;                     /*控制倒红茶任务的信号量   */
OS_EVENT   *Tea_Make_Gre;                     /*控制倒红茶任务的信号

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -