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

📄 app.c

📁 tinyos2.0版本驱动
💻 C
📖 第 1 页 / 共 3 页
字号:
#line 51# 47 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static __inline void /*HplAtm128GeneralIOC.PortA.Bit4*/HplAtm128GeneralIOPinP$4$IO$clr(void )#line 47{#line 47  * (volatile uint8_t * )34U &= ~(1 << 4);}# 30 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void MotePlatformP$SerialIdPin$clr(void ){#line 30  /*HplAtm128GeneralIOC.PortA.Bit4*/HplAtm128GeneralIOPinP$4$IO$clr();#line 30}#line 30# 50 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static __inline void /*HplAtm128GeneralIOC.PortA.Bit4*/HplAtm128GeneralIOPinP$4$IO$makeInput(void )#line 50{#line 50  * (volatile uint8_t * )33U &= ~(1 << 4);}# 33 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void MotePlatformP$SerialIdPin$makeInput(void ){#line 33  /*HplAtm128GeneralIOC.PortA.Bit4*/HplAtm128GeneralIOPinP$4$IO$makeInput();#line 33}#line 33# 26 "/opt/tinyos-2.x/tos/platforms/micaz/MotePlatformP.nc"static inline error_t MotePlatformP$PlatformInit$init(void )#line 26{  * (volatile uint8_t *)(0x08 + 0x20) = 0;  * (volatile uint8_t *)(0x07 + 0x20) = 0xff;  MotePlatformP$SerialIdPin$makeInput();  MotePlatformP$SerialIdPin$clr();  return MotePlatformP$SubInit$init();}# 46 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static __inline void /*HplAtm128GeneralIOC.PortA.Bit0*/HplAtm128GeneralIOPinP$0$IO$set(void )#line 46{#line 46  * (volatile uint8_t * )34U |= 1 << 0;}# 29 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void LedsP$Led2$set(void ){#line 29  /*HplAtm128GeneralIOC.PortA.Bit0*/HplAtm128GeneralIOPinP$0$IO$set();#line 29}#line 29# 46 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static __inline void /*HplAtm128GeneralIOC.PortA.Bit1*/HplAtm128GeneralIOPinP$1$IO$set(void )#line 46{#line 46  * (volatile uint8_t * )34U |= 1 << 1;}# 29 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void LedsP$Led1$set(void ){#line 29  /*HplAtm128GeneralIOC.PortA.Bit1*/HplAtm128GeneralIOPinP$1$IO$set();#line 29}#line 29# 46 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static __inline void /*HplAtm128GeneralIOC.PortA.Bit2*/HplAtm128GeneralIOPinP$2$IO$set(void )#line 46{#line 46  * (volatile uint8_t * )34U |= 1 << 2;}# 29 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void LedsP$Led0$set(void ){#line 29  /*HplAtm128GeneralIOC.PortA.Bit2*/HplAtm128GeneralIOPinP$2$IO$set();#line 29}#line 29# 52 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static __inline void /*HplAtm128GeneralIOC.PortA.Bit0*/HplAtm128GeneralIOPinP$0$IO$makeOutput(void )#line 52{#line 52  * (volatile uint8_t * )33U |= 1 << 0;}# 35 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void LedsP$Led2$makeOutput(void ){#line 35  /*HplAtm128GeneralIOC.PortA.Bit0*/HplAtm128GeneralIOPinP$0$IO$makeOutput();#line 35}#line 35# 52 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static __inline void /*HplAtm128GeneralIOC.PortA.Bit1*/HplAtm128GeneralIOPinP$1$IO$makeOutput(void )#line 52{#line 52  * (volatile uint8_t * )33U |= 1 << 1;}# 35 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void LedsP$Led1$makeOutput(void ){#line 35  /*HplAtm128GeneralIOC.PortA.Bit1*/HplAtm128GeneralIOPinP$1$IO$makeOutput();#line 35}#line 35# 52 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static __inline void /*HplAtm128GeneralIOC.PortA.Bit2*/HplAtm128GeneralIOPinP$2$IO$makeOutput(void )#line 52{#line 52  * (volatile uint8_t * )33U |= 1 << 2;}# 35 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void LedsP$Led0$makeOutput(void ){#line 35  /*HplAtm128GeneralIOC.PortA.Bit2*/HplAtm128GeneralIOPinP$2$IO$makeOutput();#line 35}#line 35# 45 "/opt/tinyos-2.x/tos/system/LedsP.nc"static inline error_t LedsP$Init$init(void )#line 45{  /* atomic removed: atomic calls only */#line 46  {    ;    LedsP$Led0$makeOutput();    LedsP$Led1$makeOutput();    LedsP$Led2$makeOutput();    LedsP$Led0$set();    LedsP$Led1$set();    LedsP$Led2$set();  }  return SUCCESS;}# 51 "/opt/tinyos-2.x/tos/interfaces/Init.nc"inline static error_t PlatformP$MoteInit$init(void ){#line 51  unsigned char result;#line 51#line 51  result = LedsP$Init$init();#line 51  result = ecombine(result, MotePlatformP$PlatformInit$init());#line 51#line 51  return result;#line 51}#line 51# 64 "/opt/tinyos-2.x/tos/platforms/iris/MeasureClockC.nc"static inline error_t MeasureClockC$Init$init(void )#line 64{  /* atomic removed: atomic calls only */  {    uint8_t now;#line 70    uint8_t wraps;    uint16_t start;    * (volatile uint8_t *)0x81 = 1 << 0;    * (volatile uint8_t *)0xB6 = 1 << 5;    * (volatile uint8_t *)0xB1 = (1 << 1) | (1 << 0);    start = * (volatile uint16_t *)0x84;    for (wraps = MeasureClockC$MAGIC / 2; wraps; )       {        uint16_t next = * (volatile uint16_t *)0x84;        if (next < start) {          wraps--;          }#line 88        start = next;      }    now = * (volatile uint8_t *)0xB2;    while (* (volatile uint8_t *)0xB2 == now) ;    start = * (volatile uint16_t *)0x84;    now = * (volatile uint8_t *)0xB2;    while (* (volatile uint8_t *)0xB2 == now) ;    MeasureClockC$cycles = * (volatile uint16_t *)0x84;    MeasureClockC$cycles = (MeasureClockC$cycles - start + 16) >> 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# 94 "/opt/tinyos-2.x/tos/system/RealMainP.nc"static inline error_t RealMainP$SoftwareInit$default$init(void )#line 94{#line 94  return SUCCESS;}# 51 "/opt/tinyos-2.x/tos/interfaces/Init.nc"inline static error_t RealMainP$SoftwareInit$init(void ){#line 51  unsigned char result;#line 51#line 51  result = RealMainP$SoftwareInit$default$init();#line 51#line 51  return result;#line 51}#line 51# 105 "/opt/tinyos-2.x/tos/chips/atm1281/atm128hardware.h"static __inline void __nesc_enable_interrupt()#line 105{   __asm volatile ("sei");}# 47 "/opt/tinyos-2.x/tos/chips/atm128/pins/HplAtm128GeneralIOPinP.nc"static __inline void /*HplAtm128GeneralIOC.PortA.Bit2*/HplAtm128GeneralIOPinP$2$IO$clr(void )#line 47{#line 47  * (volatile uint8_t * )34U &= ~(1 << 2);}# 30 "/opt/tinyos-2.x/tos/interfaces/GeneralIO.nc"inline static void LedsP$Led0$clr(void ){#line 30  /*HplAtm128GeneralIOC.PortA.Bit2*/HplAtm128GeneralIOPinP$2$IO$clr();#line 30}#line 30# 63 "/opt/tinyos-2.x/tos/system/LedsP.nc"static inline void LedsP$Leds$led0On(void )#line 63{  LedsP$Led0$clr();  ;#line 65  ;}# 45 "/opt/tinyos-2.x/tos/interfaces/Leds.nc"inline static void PowerupC$Leds$led0On(void ){#line 45  LedsP$Leds$led0On();#line 45}#line 45# 41 "PowerupC.nc"static inline void PowerupC$Boot$booted(void )#line 41{  PowerupC$Leds$led0On();}# 49 "/opt/tinyos-2.x/tos/interfaces/Boot.nc"inline static void RealMainP$Boot$booted(void ){#line 49  PowerupC$Boot$booted();#line 49}#line 49# 164 "/opt/tinyos-2.x/tos/system/SchedulerBasicP.nc"static inline void SchedulerBasicP$TaskBasic$default$runTask(uint8_t id){}# 64 "/opt/tinyos-2.x/tos/interfaces/TaskBasic.nc"inline static void SchedulerBasicP$TaskBasic$runTask(uint8_t arg_0x1031d70){#line 64    SchedulerBasicP$TaskBasic$default$runTask(arg_0x1031d70);#line 64}#line 64# 144 "/opt/tinyos-2.x/tos/chips/atm1281/McuSleepC.nc"static inline mcu_power_t McuSleepC$McuPowerOverride$default$lowestState(void )#line 144{  return ATM128_POWER_DOWN;}# 54 "/opt/tinyos-2.x/tos/interfaces/McuPowerOverride.nc"inline static mcu_power_t McuSleepC$McuPowerOverride$lowestState(void ){#line 54  unsigned char result;#line 54#line 54  result = McuSleepC$McuPowerOverride$default$lowestState();#line 54#line 54  return result;#line 54}#line 54# 88 "/opt/tinyos-2.x/tos/chips/atm1281/McuSleepC.nc"static inline mcu_power_t McuSleepC$getPowerState(void )#line 88{  if ((#line 98  * (volatile uint8_t *)0x6E & ((1 << 1) | (1 << 2)) ||   * (volatile uint8_t *)0x6F & ((((1 << 5) | (1 << 1)) | (1 << 2)) | (1 << 3))) ||   * (volatile uint8_t *)0x71 & ((((1 << 5) | (1 << 1)) | (1 << 2)) | (1 << 3)))     {      return ATM128_POWER_IDLE;    }  else {    if (* (volatile uint8_t *)(uint16_t )& * (volatile uint8_t *)(0x2C + 0x20) & (1 << 7)) {        return ATM128_POWER_IDLE;      }    else {      if (* (volatile uint8_t *)0XC1 & ((1 << 6) | (1 << 7))) {          return ATM128_POWER_IDLE;        }      else {#line 112        if (* (volatile uint8_t *)0XC9 & ((1 << 6) | (1 << 7))) {            return ATM128_POWER_IDLE;          }        else {          if (* (volatile uint8_t *)(uint16_t )& * (volatile uint8_t *)0xBC & (1 << 2)) {              return ATM128_POWER_IDLE;            }          else {            if (* (volatile uint8_t *)(uint16_t )& * (volatile uint8_t *)0x7A & (1 << 7)) {                return ATM128_POWER_ADC_NR;              }            else {                return ATM128_POWER_DOWN;              }            }          }        }      }    }}# 157 "/opt/tinyos-2.x/tos/chips/atm1281/atm128hardware.h"static inline mcu_power_t mcombine(mcu_power_t m1, mcu_power_t m2)#line 157{  return m1 < m2 ? m1 : m2;}# 128 "/opt/tinyos-2.x/tos/chips/atm1281/McuSleepC.nc"static inline void McuSleepC$McuSleep$sleep(void )#line 128{  uint8_t powerState;  powerState = mcombine(McuSleepC$getPowerState(), McuSleepC$McuPowerOverride$lowestState());  * (volatile uint8_t *)(0x33 + 0x20) = ((  * (volatile uint8_t *)(0x33 + 0x20) & 0xf0) | (1 << 0)) | __extension__ ({#line 133    uint16_t __addr16 = (uint16_t )(uint16_t )&McuSleepC$atm128PowerBits[powerState];#line 133    uint8_t __result;#line 133     __asm ("lpm %0, Z""\n\t" : "=r"(__result) : "z"(__addr16));__result;  }  );#line 134   __asm volatile ("sei");   __asm volatile ("sleep");   __asm volatile ("cli");  * (volatile uint8_t *)(0x33 + 0x20) &= ~(1 << 0);}# 59 "/opt/tinyos-2.x/tos/interfaces/McuSleep.nc"inline static void SchedulerBasicP$McuSleep$sleep(void ){#line 59  McuSleepC$McuSleep$sleep();#line 59}#line 59# 67 "/opt/tinyos-2.x/tos/system/SchedulerBasicP.nc"static __inline uint8_t SchedulerBasicP$popTask(void ){  if (SchedulerBasicP$m_head != SchedulerBasicP$NO_TASK)     {      uint8_t id = SchedulerBasicP$m_head;#line 72      SchedulerBasicP$m_head = SchedulerBasicP$m_next[SchedulerBasicP$m_head];      if (SchedulerBasicP$m_head == SchedulerBasicP$NO_TASK)         {          SchedulerBasicP$m_tail = SchedulerBasicP$NO_TASK;        }      SchedulerBasicP$m_next[id] = SchedulerBasicP$NO_TASK;      return id;    }  else     {      return SchedulerBasicP$NO_TASK;    }}#line 138static inline void SchedulerBasicP$Scheduler$taskLoop(void ){  for (; ; )     {      uint8_t nextTask;      { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();        {          while ((nextTask = SchedulerBasicP$popTask()) == SchedulerBasicP$NO_TASK)             {              SchedulerBasicP$McuSleep$sleep();            }        }#line 150        __nesc_atomic_end(__nesc_atomic); }      SchedulerBasicP$TaskBasic$runTask(nextTask);    }}# 61 "/opt/tinyos-2.x/tos/interfaces/Scheduler.nc"inline static void RealMainP$Scheduler$taskLoop(void ){#line 61  SchedulerBasicP$Scheduler$taskLoop();#line 61}#line 61# 52 "/opt/tinyos-2.x/tos/system/RealMainP.nc"  int main(void )#line 52{  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();    {      {      }#line 60      ;      RealMainP$Scheduler$init();      RealMainP$PlatformInit$init();      while (RealMainP$Scheduler$runNextTask()) ;      RealMainP$SoftwareInit$init();      while (RealMainP$Scheduler$runNextTask()) ;    }#line 77    __nesc_atomic_end(__nesc_atomic); }  __nesc_enable_interrupt();  RealMainP$Boot$booted();  RealMainP$Scheduler$taskLoop();  return -1;}# 123 "/opt/tinyos-2.x/tos/system/SchedulerBasicP.nc"static bool SchedulerBasicP$Scheduler$runNextTask(void ){  uint8_t nextTask;  /* atomic removed: atomic calls only */#line 127  {    nextTask = SchedulerBasicP$popTask();    if (nextTask == SchedulerBasicP$NO_TASK)       {        {          unsigned char __nesc_temp = #line 131          FALSE;#line 131          return __nesc_temp;        }      }  }#line 134  SchedulerBasicP$TaskBasic$runTask(nextTask);  return TRUE;}

⌨️ 快捷键说明

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