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

📄 blinky.c

📁 ADuC7020/26是ADI模拟公司开发的ARM7TDMI内核
💻 C
字号:
/*----------------------------------------------------------------------------
 *      R T L   K e r n e l   E x a m p l e
 *----------------------------------------------------------------------------
 *      Name:    BLINKY.C
 *      Purpose: RTX example program
 *      Rev.:    V3.01 / 9-may-2006
 *----------------------------------------------------------------------------
 *      This code is part of the RealView Run-Time Library.
 *      Copyright (c) 2004-2006 KEIL - An ARM Company. All rights reserved. 
 *---------------------------------------------------------------------------*/

#include <RTL.h>
#include <ADuC7026.H>                   /* ADuC7024 definitions              */


OS_TID t_keyin;                         /* assigned task id of task: keyin   */
OS_TID t_blink;                         /* assigned task id of task: blink   */

U16    delay;                           /* clock tick delay global variable  */


/*----------------------------------------------------------------------------
 *        Task 1 'keyin': Key Input
 *---------------------------------------------------------------------------*/
void keyin (void) __task {
  os_itv_set (5);                       /* set wait interval: 5 clock ticks  */
  for (;;) {
    if (GP0DAT & 0x00000010) {          /* check P0.4 key input              */
      delay = 10;                       /* set 10 clock tick delay           */
    } else {
      delay = 20;                       /* set 20 clock tick delay           */
    }
    os_itv_wait ();                     /* wait interval                     */
  }
}

/*----------------------------------------------------------------------------
 *        Task 2 'blink': Blinks LED
 *---------------------------------------------------------------------------*/
void blink (void) __task {
  for (;;) {
    GP4DAT ^= 0x00040000;               /* toggle P4.2 LED                   */
    os_dly_wait (delay);                /* programmed delay                  */
  }
}

/*----------------------------------------------------------------------------
 *        Task 3 'init': Initialize
 *---------------------------------------------------------------------------*/
void init (void) __task {

  GP4DAT = 0x04040000;                   /* P4.2 defined as output           */

  t_keyin = os_tsk_create (keyin, 0);    /* start task 'keyin'               */
  t_blink = os_tsk_create (blink, 0);    /* start task 'blink'               */
  os_tsk_delete_self ();
}

/*----------------------------------------------------------------------------
 *        Main: Initialize and start RTX Kernel
 *---------------------------------------------------------------------------*/
int main (void) {
  os_sys_init (init);                   /* Initialize RTX and start init     */
}

/*----------------------------------------------------------------------------
 * end of file
 *---------------------------------------------------------------------------*/

⌨️ 快捷键说明

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