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

📄 app.c

📁 tinyos2.0版本驱动
💻 C
📖 第 1 页 / 共 5 页
字号:
    * (volatile uint8_t *)0xB6 = * (volatile uint8_t *)0x81 = * (volatile uint8_t *)0xB1 = 0;    * (volatile uint8_t *)0xB2 = 0;    * (volatile uint16_t *)0x84 = 0;    * (volatile uint8_t *)(0x16 + 0x20) = * (volatile uint8_t *)(0x17 + 0x20) = 0xff;    while (* (volatile uint8_t *)0xB6 & (((1 << 4) | (1 << 2)) | (1 << 0)))       ;  }  return SUCCESS;}# 51 "/opt/tinyos-2.x/tos/interfaces/Init.nc"inline static error_t PlatformP$MeasureClock$init(void ){#line 51  unsigned char result;#line 51#line 51  result = MeasureClockC$Init$init();#line 51#line 51  return result;#line 51}#line 51# 49 "/opt/tinyos-2.x/tos/platforms/mica/PlatformP.nc"static inline error_t PlatformP$Init$init(void ){  error_t ok;  ok = PlatformP$MeasureClock$init();  ok = ecombine(ok, PlatformP$MoteInit$init());  if (ok != SUCCESS) {    return ok;    }  PlatformP$power_init();  return SUCCESS;}# 51 "/opt/tinyos-2.x/tos/interfaces/Init.nc"inline static error_t RealMainP$PlatformInit$init(void ){#line 51  unsigned char result;#line 51#line 51  result = PlatformP$Init$init();#line 51#line 51  return result;#line 51}#line 51# 54 "/opt/tinyos-2.x/tos/interfaces/Scheduler.nc"inline static bool RealMainP$Scheduler$runNextTask(void ){#line 54  unsigned char result;#line 54#line 54  result = SchedulerBasicP$Scheduler$runNextTask();#line 54#line 54  return result;#line 54}#line 54# 134 "/opt/tinyos-2.x/tos/chips/atm1281/timer/HplAtm1281Timer2AsyncP.nc"static inline uint8_t HplAtm1281Timer2AsyncP$TimerCtrl$getInterruptFlag(void )#line 134{  return * (volatile uint8_t *)(0x17 + 0x20);}# 69 "/opt/tinyos-2.x/tos/chips/atm1281/timer/HplAtm128TimerCtrl8.nc"inline static uint8_t /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$TimerCtrl$getInterruptFlag(void ){#line 69  unsigned char result;#line 69#line 69  result = HplAtm1281Timer2AsyncP$TimerCtrl$getInterruptFlag();#line 69#line 69  return result;#line 69}#line 69# 231 "/opt/tinyos-2.x/tos/chips/atm1281/timer/Atm1281AlarmAsyncP.nc"static inline void /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Alarm$stop(void )#line 231{  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();#line 232    /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$set = FALSE;#line 232    __nesc_atomic_end(__nesc_atomic); }}# 62 "/opt/tinyos-2.x/tos/lib/timer/Alarm.nc"inline static void /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Alarm$stop(void ){#line 62  /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Alarm$stop();#line 62}#line 62# 60 "/opt/tinyos-2.x/tos/lib/timer/AlarmToTimerC.nc"static inline void /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Timer$stop(void ){#line 61  /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Alarm$stop();}# 67 "/opt/tinyos-2.x/tos/lib/timer/Timer.nc"inline static void /*HilTimerMilliC.VirtualizeTimerC*/VirtualizeTimerC$0$TimerFrom$stop(void ){#line 67  /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Timer$stop();#line 67}#line 67# 51 "/opt/tinyos-2.x/tos/platforms/imote/chips/wdt/HPLWdtP.nc"static inline void HPLWdtP$Timer$fired(void ){  if (HPLWdtP$increment != 0)     {      { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();        {          HPLWdtP$remaining = HPLWdtP$remaining - HPLWdtP$WDT_LATENCY;        }#line 58        __nesc_atomic_end(__nesc_atomic); }    }  if (HPLWdtP$remaining > 0) {     __asm volatile ("wdr");    }}# 56 "/opt/tinyos-2.x/tos/interfaces/TaskBasic.nc"inline static error_t TestWDTC$crashMote$postTask(void ){#line 56  unsigned char result;#line 56#line 56  result = SchedulerBasicP$TaskBasic$postTask(TestWDTC$crashMote);#line 56#line 56  return result;#line 56}#line 56# 78 "/opt/tinyos-2.x/tos/platforms/imote/chips/wdt/HPLWdtP.nc"static inline void HPLWdtP$WDT$reset(void ){  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();    {      HPLWdtP$remaining = HPLWdtP$increment;    }#line 83    __nesc_atomic_end(__nesc_atomic); }}# 8 "/opt/tinyos-2.x/tos/platforms/imote/chips/wdt/WDT.nc"inline static void TestWDTC$WDT$reset(void ){#line 8  HPLWdtP$WDT$reset();#line 8}#line 8# 66 "/opt/tinyos-2.x/tos/platforms/imote/chips/wdt/HPLWdtP.nc"static inline error_t HPLWdtP$WDT$start(int32_t interval){  if (HPLWdtP$increment == 0)     {      HPLWdtP$increment = interval;      HPLWdtP$remaining = HPLWdtP$increment;      return SUCCESS;    }  return FAIL;}# 5 "/opt/tinyos-2.x/tos/platforms/imote/chips/wdt/WDT.nc"inline static error_t TestWDTC$WDT$start(int32_t interval){#line 5  unsigned char result;#line 5#line 5  result = HPLWdtP$WDT$start(interval);#line 5#line 5  return result;#line 5}#line 5# 48 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static inline void /*HplAtm128GeneralIOC.PortA.Bit1*/HplAtm128GeneralIOPinP$1$IO$toggle(void )#line 48{#line 48  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();#line 48    * (volatile uint8_t * )34U ^= 1 << 1;#line 48    __nesc_atomic_end(__nesc_atomic); }}# 31 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void LedsP$Led1$toggle(void ){#line 31  /*HplAtm128GeneralIOC.PortA.Bit1*/HplAtm128GeneralIOPinP$1$IO$toggle();#line 31}#line 31# 88 "/opt/tinyos-2.x/tos/system/LedsP.nc"static inline void LedsP$Leds$led1Toggle(void )#line 88{  LedsP$Led1$toggle();  ;#line 90  ;}# 72 "/opt/tinyos-2.x/tos/interfaces/Leds.nc"inline static void TestWDTC$Leds$led1Toggle(void ){#line 72  LedsP$Leds$led1Toggle();#line 72}#line 72# 64 "TestWDTC.nc"static inline void TestWDTC$Timer$fired(void ){  TestWDTC$Leds$led1Toggle();  if (TestWDTC$firstTime)     {      TestWDTC$firstTime = 0;      TestWDTC$WDT$start(500);    }  else     {      TestWDTC$WDT$reset();    }  if (TestWDTC$mode == 2)     {      TestWDTC$crashMote$postTask();    }}# 193 "/opt/tinyos-2.x/tos/lib/timer/VirtualizeTimerC.nc"static inline void /*HilTimerMilliC.VirtualizeTimerC*/VirtualizeTimerC$0$Timer$default$fired(uint8_t num){}# 72 "/opt/tinyos-2.x/tos/lib/timer/Timer.nc"inline static void /*HilTimerMilliC.VirtualizeTimerC*/VirtualizeTimerC$0$Timer$fired(uint8_t arg_0x12a3d70){#line 72  switch (arg_0x12a3d70) {#line 72    case 0U:#line 72      HPLWdtP$Timer$fired();#line 72      break;#line 72    case 1U:#line 72      TestWDTC$Timer$fired();#line 72      break;#line 72    default:#line 72      /*HilTimerMilliC.VirtualizeTimerC*/VirtualizeTimerC$0$Timer$default$fired(arg_0x12a3d70);#line 72      break;#line 72    }#line 72}#line 72# 86 "/opt/tinyos-2.x/tos/system/SchedulerBasicP.nc"static inline bool SchedulerBasicP$isWaiting(uint8_t id){  return SchedulerBasicP$m_next[id] != SchedulerBasicP$NO_TASK || SchedulerBasicP$m_tail == id;}static inline bool SchedulerBasicP$pushTask(uint8_t id){  if (!SchedulerBasicP$isWaiting(id))     {      if (SchedulerBasicP$m_head == SchedulerBasicP$NO_TASK)         {          SchedulerBasicP$m_head = id;          SchedulerBasicP$m_tail = id;        }      else         {          SchedulerBasicP$m_next[SchedulerBasicP$m_tail] = id;          SchedulerBasicP$m_tail = id;        }      return TRUE;    }  else     {      return FALSE;    }}# 92 "/opt/tinyos-2.x/tos/lib/timer/Alarm.nc"inline static void /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Alarm$startAt(/*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Alarm$size_type t0, /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Alarm$size_type dt){#line 92  /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Alarm$startAt(t0, dt);#line 92}#line 92# 47 "/opt/tinyos-2.x/tos/lib/timer/AlarmToTimerC.nc"static inline void /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$start(uint32_t t0, uint32_t dt, bool oneshot){  /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$m_dt = dt;  /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$m_oneshot = oneshot;  /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Alarm$startAt(t0, dt);}#line 82static inline void /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Timer$startOneShotAt(uint32_t t0, uint32_t dt){#line 83  /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$start(t0, dt, TRUE);}# 118 "/opt/tinyos-2.x/tos/lib/timer/Timer.nc"inline static void /*HilTimerMilliC.VirtualizeTimerC*/VirtualizeTimerC$0$TimerFrom$startOneShotAt(uint32_t t0, uint32_t dt){#line 118  /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Timer$startOneShotAt(t0, dt);#line 118}#line 118# 174 "/opt/tinyos-2.x/tos/chips/atm1281/timer/HplAtm1281Timer2AsyncP.nc"static inline void HplAtm1281Timer2AsyncP$Compare$set(uint8_t t)#line 174{  /* atomic removed: atomic calls only */  {    while (* (volatile uint8_t *)0xB6 & (1 << 3))       ;    * (volatile uint8_t *)0xB3 = t;  }}# 45 "/opt/tinyos-2.x/tos/chips/atm128/timer/HplAtm128Compare.nc"inline static void /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Compare$set(/*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Compare$size_type t){#line 45  HplAtm1281Timer2AsyncP$Compare$set(t);#line 45}#line 45# 79 "/opt/tinyos-2.x/tos/chips/atm1281/timer/HplAtm1281Timer2AsyncP.nc"static inline uint8_t HplAtm1281Timer2AsyncP$Timer$get(void )#line 79{#line 79  return * (volatile uint8_t *)0xB2;}# 52 "/opt/tinyos-2.x/tos/chips/atm128/timer/HplAtm128Timer.nc"inline static /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Timer$timer_size /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Timer$get(void ){#line 52  unsigned char result;#line 52#line 52  result = HplAtm1281Timer2AsyncP$Timer$get();#line 52#line 52  return result;#line 52}#line 52# 258 "/opt/tinyos-2.x/tos/chips/atm1281/timer/HplAtm1281Timer2AsyncP.nc"static inline int HplAtm1281Timer2AsyncP$TimerAsync$compareABusy(void )#line 258{  return (* (volatile uint8_t *)0xB6 & (1 << 3)) != 0;}# 75 "/opt/tinyos-2.x/tos/chips/atm1281/timer/HplAtm128TimerAsync.nc"inline static int /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$TimerAsync$compareABusy(void ){#line 75  int result;#line 75#line 75  result = HplAtm1281Timer2AsyncP$TimerAsync$compareABusy();#line 75#line 75  return result;#line 75}#line 75# 101 "/opt/tinyos-2.x/tos/chips/atm1281/timer/Atm1281AlarmAsyncP.nc"static inline void /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$setOcr2A(uint8_t n)#line 101{  while (/*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$TimerAsync$compareABusy())     ;  if (n == /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Timer$get()) {    n++;    }  if (/*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$base + n + 1 < /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$base) {    n = -/*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$base - 1;    }#line 111  /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Compare$set(n);}# 56 "/opt/tinyos-2.x/tos/interfaces/TaskBasic.nc"inline static error_t /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$fired$postTask(void ){#line 56  unsigned char result;#line 56#line 56  result = SchedulerBasicP$TaskBasic$postTask(/*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$fired);#line 56#line 56  return result;#line 56}#line 56# 70 "/opt/tinyos-2.x/tos/lib/timer/AlarmToTimerC.nc"static inline void /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Alarm$fired(void ){#line 71  /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$fired$postTask();}# 67 "/opt/tinyos-2.x/tos/lib/timer/Alarm.nc"inline static void /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Alarm$fired(void ){#line 67  /*HilTimerMilliC.AlarmToTimerC*/AlarmToTimerC$0$Alarm$fired();#line 67}#line 67# 253 "/opt/tinyos-2.x/tos/chips/atm1281/timer/Atm1281AlarmAsyncP.nc"static inline uint32_t /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$Alarm$getAlarm(void )#line 253{  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();#line 254    {      unsigned long __nesc_temp = #line 254      /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$t0 + /*AlarmCounterMilliP.Atm128AlarmAsyncC.Atm1281AlarmAsyncP*/Atm1281AlarmAsyncP$0$dt;      {#line 254        __nesc_atomic_end(__nesc_atomic); #line 254        return __nesc_temp;      }    }#line 256    __nesc_atomi

⌨️ 快捷键说明

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