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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1974|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32F429 uCOSIII_emWin528_Demo(光敏電阻)例程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:470752 發(fā)表于 2019-1-20 01:36 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
單片機(jī)源程序如下:
  1. /* --------------- APPLICATION GLOBALS ---------------- */
  2. static  OS_TCB       AppTaskStartTCB;
  3. static  CPU_STK      AppTaskStartStk[APP_CFG_TASK_START_STK_SIZE];

  4. static  OS_TCB       AppTaskObj0TCB;
  5. static  CPU_STK      AppTaskObj0Stk[APP_CFG_TASK_OBJ0_STK_SIZE];

  6. static  OS_TCB       AppTaskGUITCB;
  7. __align(8) static  CPU_STK      AppTaskGUIStk[APP_CFG_TASK_GUI_STK_SIZE];

  8. /*
  9. *********************************************************************************************************
  10. *                                         FUNCTION PROTOTYPES
  11. *********************************************************************************************************
  12. */
  13. static  void  AppTaskStart   (void  *p_arg);
  14. static  void  AppTaskCreate  (void);
  15. static  void  AppObjCreate   (void);

  16. static  void  AppTaskObj0    (void  *p_arg);
  17. static  void  AppTaskGUI     (void  *p_arg);

  18. KEY Key1,Key2;
  19. uint8_t   tpad_flag=0;
  20. /*
  21. *********************************************************************************************************
  22. *                                                main()
  23. *
  24. * Description : This is the standard entry point for C code.  It is assumed that your code will call
  25. *               main() once you have performed all necessary initialization.
  26. *
  27. * Arguments   : none
  28. *
  29. * Returns     : none
  30. *
  31. *********************************************************************************************************
  32. */

  33. int main(void)
  34. {
  35.         OS_ERR   err;
  36. #if (CPU_CFG_NAME_EN == DEF_ENABLED)
  37.         CPU_ERR  cpu_err;
  38. #endif                 

  39.         Mem_Init();                                                 /* Initialize Memory Managment Module                   */
  40.         Math_Init();                                                /* Initialize Mathematical Module                       */

  41. #if (CPU_CFG_NAME_EN == DEF_ENABLED)
  42.         CPU_NameSet((CPU_CHAR *)"STM32F429II",
  43.                                                         (CPU_ERR  *)&cpu_err);
  44. #endif

  45.         BSP_IntDisAll();                                            /* Disable all Interrupts.                              */

  46.         OSInit(&err);                                               /* Init uC/OS-III.                                      */

  47.         App_OS_SetAllHooks();

  48.         OSTaskCreate(&AppTaskStartTCB,                              /* Create the start task                                */
  49.                                                                 "App Task Start",
  50.                                                                 AppTaskStart,
  51.                                                                 0u,
  52.                                                                 APP_CFG_TASK_START_PRIO,
  53.                                                                 &AppTaskStartStk[0u],
  54.                                                                 AppTaskStartStk[APP_CFG_TASK_START_STK_SIZE / 10u],
  55.                                                                 APP_CFG_TASK_START_STK_SIZE,
  56.                                                                 0u,
  57.                                                                 0u,
  58.                                                                 0u,
  59.                                                          (OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  60.                                                          &err);

  61.   if(err!=OS_ERR_NONE)  bsp_result|=BSP_OS;
  62.         OSStart(&err);                                              /* Start multitasking (i.e. give control to uC/OS-III). */
  63.        
  64.         while (DEF_ON) {                                            /* Should Never Get Here.                               */
  65.                         ;
  66.         }
  67. }

  68. //按鍵定時(shí)掃描的定時(shí)器
  69. static void inputscan(void)
  70. {
  71.   OS_ERR  err;
  72.   
  73.   OSSchedLock(&err);
  74.         GT9xx_GetOnePiont();//觸摸屏定時(shí)掃描
  75.   OSSchedUnlock(&err);
  76.   
  77.         Key_RefreshState(&Key1);//刷新按鍵狀態(tài)
  78.         Key_RefreshState(&Key2);//刷新按鍵狀態(tài)
  79.         if(Key_AccessTimes(&Key1,KEY_ACCESS_READ)!=0)//按鍵被按下過(guò)
  80.         {
  81.                 LED2_TOGGLE;
  82.                 Key_AccessTimes(&Key1,KEY_ACCESS_WRITE_CLEAR);
  83.         }
  84.         if(Key_AccessTimes(&Key2,KEY_ACCESS_READ)!=0)//按鍵被按下過(guò)
  85.         {
  86.                 LED3_TOGGLE;
  87.                 Key_AccessTimes(&Key2,KEY_ACCESS_WRITE_CLEAR);
  88.         }
  89. }

  90. /*
  91. *********************************************************************************************************
  92. *                                          STARTUP TASK
  93. *
  94. * Description : This is an example of a startup task.  As mentioned in the book's text, you MUST
  95. *               initialize the ticker only once multitasking has started.
  96. *
  97. * Arguments   : p_arg   is the argument passed to 'AppTaskStart()' by 'OSTaskCreate()'.
  98. *
  99. * Returns     : none
  100. *
  101. * Notes       : 1) The first line of code is used to prevent a compiler warning because 'p_arg' is not
  102. *                  used.  The compiler should not generate any code for this statement.
  103. *********************************************************************************************************
  104. */

  105. static  void  AppTaskStart (void *p_arg)
  106. {

  107.         OS_ERR      err;
  108. (void)p_arg;

  109.         BSP_Init();                                                 /* Initialize BSP functions                             */
  110.         CPU_Init();                                                 /* Initialize the uC/CPU services                       */

  111. #if OS_CFG_STAT_TASK_EN > 0u
  112.         OSStatTaskCPUUsageInit(&err);                               /* Compute CPU capacity with no task running            */
  113. #endif

  114. #ifdef CPU_CFG_INT_DIS_MEAS_EN
  115.         CPU_IntDisMeasMaxCurReset();
  116. #endif

  117. #if (APP_CFG_SERIAL_EN == DEF_ENABLED)
  118.         APP_TRACE_DBG(("Creating Application kernel objects\n\r"));
  119. #endif       
  120.         AppObjCreate();
  121. /* Create Applicaiton kernel objects                    */
  122. #if (APP_CFG_SERIAL_EN == DEF_ENABLED)
  123.         APP_TRACE_DBG(("Creating Application Tasks\n\r"));
  124. #endif       
  125.         AppTaskCreate();                                            /* Create Application tasks                             */

  126.        
  127.         while (DEF_TRUE)
  128.         {                                          /* Task body, always written as an infinite loop.       */
  129.     inputscan();
  130.                 OSTimeDlyHMSM(0u, 0u, 0u, 20u,
  131.                                                                         OS_OPT_TIME_HMSM_STRICT,
  132.                                                                         &err);
  133.         }
  134. }

  135. /*
  136. *********************************************************************************************************
  137. *                                          AppTaskCreate()
  138. *
  139. * Description : Create Application Tasks.
  140. *
  141. * Argument(s) : none
  142. *
  143. * Return(s)   : none
  144. *
  145. * Caller(s)   : AppTaskStart()
  146. *
  147. * Note(s)     : none.
  148. *********************************************************************************************************
  149. */

  150. static  void  AppTaskCreate (void)
  151. {
  152.         OS_ERR  os_err;

  153.         /* ---------- CREATE KERNEL OBJECTS TEST TASK --------- */
  154.         OSTaskCreate((OS_TCB       *)&AppTaskObj0TCB,
  155.                (CPU_CHAR     *)"Kernel Objects Task 0",
  156.                (OS_TASK_PTR   )AppTaskObj0,
  157.                (void         *)0,
  158.                (OS_PRIO       )APP_CFG_TASK_OBJ0_PRIO,
  159.                (CPU_STK      *)&AppTaskObj0Stk[0],
  160.                (CPU_STK_SIZE  )AppTaskObj0Stk[APP_CFG_TASK_OBJ0_STK_SIZE / 10u],
  161.                (CPU_STK_SIZE  )APP_CFG_TASK_OBJ0_STK_SIZE,
  162.                (OS_MSG_QTY    )0u,
  163.                (OS_TICK       )0u,
  164.                (void         *)0,
  165.                (OS_OPT        )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  166.                (OS_ERR       *)&os_err);
  167.   OSTaskCreate((OS_TCB       *)&AppTaskGUITCB,
  168.                (CPU_CHAR     *)"Kernel Objects Task 0",
  169.                (OS_TASK_PTR   )AppTaskGUI,
  170.                (void         *)0,
  171.                (OS_PRIO       )APP_CFG_TASK_GUI_PRIO,
  172.                (CPU_STK      *)&AppTaskGUIStk[0],
  173.                (CPU_STK_SIZE  )AppTaskGUIStk[APP_CFG_TASK_GUI_STK_SIZE / 10u],
  174.                (CPU_STK_SIZE  )APP_CFG_TASK_GUI_STK_SIZE,
  175.                (OS_MSG_QTY    )0u,
  176.                (OS_TICK       )0u,
  177.                (void         *)0,
  178.                (OS_OPT        )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  179.                (OS_ERR       *)&os_err);
  180. }


  181. /*
  182. *********************************************************************************************************
  183. *                                          AppObjCreate()
  184. *
  185. * Description : Create Application Kernel Objects.
  186. *
  187. * Argument(s) : none
  188. *
  189. * Return(s)   : none
  190. *
  191. * Caller(s)   : AppTaskStart()
  192. *
  193. * Note(s)     : none.
  194. *********************************************************************************************************
  195. */
  196. static  void  AppObjCreate (void)
  197. {
  198.   KeyCreate(&Key1,GetPinStateOfKey1);
  199.         KeyCreate(&Key2,GetPinStateOfKey2);
  200. }
  201. /*
  202. *********************************************************************************************************
  203. *                                          AppTaskObj0()
  204. *
  205. * Description : Test uC/OS-III objects.
  206. *
  207. * Argument(s) : p_arg is the argument passed to 'AppTaskObj0' by 'OSTaskCreate()'.
  208. *
  209. * Return(s)   : none
  210. *
  211. * Caller(s)   : This is a task
  212. *
  213. * Note(s)     : none.
  214. *********************************************************************************************************
  215. */

  216. static  void  AppTaskObj0 (void  *p_arg)
  217. {
  218.   OS_ERR      err;
  219.         static uint8_t tpad_count=0;
  220.         (void)p_arg;
  221.        
  222.         while(TPAD_Init())
  223.         {
  224.                 tpad_count++;
  225.                 if(tpad_count>=10)
  226.     {
  227.       bsp_result |= BSP_TPAD;
  228.       break;
  229.                 }
  230.      bsp_DelayUS(1000);
  231.         }       
  232.        
  233.         while(1)
  234.         {       
  235.                 if((tpad_count<10)&&TPAD_Scan(0))
  236.                 {
  237.                         BEEP_ON;
  238.       if(UserApp_Flag)tpad_flag=1;
  239.                 }
  240.                 OSTimeDlyHMSM(0, 0, 0, 100,
  241.                       OS_OPT_TIME_HMSM_STRICT,
  242.                       &err);
  243.                 BEEP_OFF;
  244.         }   
  245. }

  246. /**************  板載錯(cuò)誤   ***************/
  247. void hardwareerr(void)
  248. {
  249.         OS_ERR  err;
  250.   printf("bsp_result->(0x%04X)\n",bsp_result);
  251.   if((bsp_result&(~BSP_NETWORK))==0) return;
  252.   if(!((bsp_result&BSP_SDRAM)||(bsp_result&BSP_GUI)))
  253.   {
  254.     char tempstr[20];
  255.     sprintf(tempstr,"error->(0x%04X)",bsp_result);
  256.     GUI_Clear();
  257.     GUI_SetColor(GUI_RED);
  258.     GUI_SetFont(GUI_FONT_24_ASCII);
  259.                 GUI_DispStringHCenterAt(tempstr, 400,120);
  260.    
  261.     LCD_BL_ON();
  262.   }
  263.   while(1)
  264.   {
  265.     printf("bsp_result->(0x%04X)\n",bsp_result);
  266.     LED1_ON;//BEEP_ON;
  267.     OSTimeDlyHMSM(0,0,0,500,OS_OPT_TIME_HMSM_STRICT,&err);
  268.     LED1_OFF;//BEEP_OFF;       
  269.     OSTimeDlyHMSM(0,0,0,100,OS_OPT_TIME_HMSM_STRICT,&err);
  270.   }
  271. }

  272. /*
  273. *********************************************************************************************************
  274. *                                          AppTaskObj1()
  275. *
  276. * Description : Test uC/OS-III objects.
  277. *
  278. * Argument(s) : p_arg is the argument passed to 'AppTaskObj1' by 'OSTaskCreate()'.
  279. *
  280. * Return(s)   : none
  281. *
  282. * Caller(s)   : This is a task
  283. *
  284. * Note(s)     : none.
  285. *********************************************************************************************************
  286. */
  287. static  void  AppTaskGUI (void  *p_arg)
  288. {
  289.   (void)p_arg;
  290.   if(bsp_result!=BSP_OK)
  291.         {
  292.                 hardwareerr();
  293.         }
  294.   while(1)
  295.   {
  296.     emWinMainApp();
  297.   }
  298. }

  299. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
復(fù)制代碼

所有資料51hei提供下載:
33. uCOSIII_emWin528_Demo(光敏電阻).7z (3.09 MB, 下載次數(shù): 39)


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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久国产一区二区三区四区小说 | 中文字幕日韩在线 | 亚洲一一在线 | 免费观看色 | av在线免费观看网址 | 黄色毛片免费看 | 中文字幕在线看第二 | 91国内精精品久久久久久婷婷 | 亚洲精品一区国产精品 | 国产精品成av人在线视午夜片 | 欧美精品一区二区三区在线四季 | 欧美成人h版在线观看 | 中国一级特黄视频 | 一区二区三区在线免费观看 | 91久久婷婷 | 一级特黄色毛片 | 美女久久 | 成人av一区二区三区 | 国产一区二区在线播放 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 日韩精品一区二区三区在线播放 | 中文字幕日韩在线观看 | 国产在线资源 | 一级欧美一级日韩片 | 91新视频| 国产精品视频999 | 欧美亚洲国产一区二区三区 | 美女国内精品自产拍在线播放 | 超碰97免费 | 国产区精品| 欧美性jizz18性欧美 | 欧美日韩中文字幕在线播放 | 亚洲一二三在线 | 日韩欧美在线一区 | 久久最新精品视频 | 日韩在线成人 | 中文字幕在线观看 | 国产精品99久久免费观看 | 成人在线中文字幕 | 国产成人小视频 | www久|