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

📄 app.c

📁 tinyos的硬件闪灯例子代码
💻 C
📖 第 1 页 / 共 3 页
字号:
result_t LedsC$Leds$redToggle(void);static inline   result_t LedsC$Leds$greenOn(void);# 117 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/mica2/hardware.h"static __inline void TOSH_SET_GREEN_LED_PIN(void)#line 117{#line 117  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1B + 0x20) |= 1 << 1;}#line 118static __inline void TOSH_SET_YELLOW_LED_PIN(void)#line 118{#line 118  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1B + 0x20) |= 1 << 0;}#line 116static __inline void TOSH_SET_RED_LED_PIN(void)#line 116{#line 116  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1B + 0x20) |= 1 << 2;}#line 131static __inline void TOSH_SET_FLASH_SELECT_PIN(void)#line 131{#line 131  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1B + 0x20) |= 1 << 3;}#line 132static __inline void TOSH_MAKE_FLASH_CLK_OUTPUT(void)#line 132{#line 132  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x11 + 0x20) |= 1 << 5;}#line 133static __inline void TOSH_MAKE_FLASH_OUT_OUTPUT(void)#line 133{#line 133  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x11 + 0x20) |= 1 << 3;}#line 131static __inline void TOSH_MAKE_FLASH_SELECT_OUTPUT(void)#line 131{#line 131  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1A + 0x20) |= 1 << 3;}#line 120static __inline void TOSH_CLR_SERIAL_ID_PIN(void)#line 120{#line 120  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1B + 0x20) &= ~(1 << 4);}#line 120static __inline void TOSH_MAKE_SERIAL_ID_INPUT(void)#line 120{#line 120  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1A + 0x20) &= ~(1 << 4);}#line 145static __inline void TOSH_MAKE_SPI_OC1C_INPUT(void)#line 145{#line 145  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 7);}#line 144static __inline void TOSH_MAKE_MISO_INPUT(void)#line 144{#line 144  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 3);}#line 127static __inline void TOSH_MAKE_CC_PCLK_OUTPUT(void)#line 127{#line 127  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x11 + 0x20) |= 1 << 6;}#line 126static __inline void TOSH_MAKE_CC_PDATA_OUTPUT(void)#line 126{#line 126  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x11 + 0x20) |= 1 << 7;}#line 128static __inline void TOSH_MAKE_CC_PALE_OUTPUT(void)#line 128{#line 128  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x11 + 0x20) |= 1 << 4;}#line 149static __inline void TOSH_MAKE_PW0_OUTPUT(void)#line 149{#line 149  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 0;}#line 150static __inline void TOSH_MAKE_PW1_OUTPUT(void)#line 150{#line 150  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 1;}#line 151static __inline void TOSH_MAKE_PW2_OUTPUT(void)#line 151{#line 151  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 2;}#line 152static __inline void TOSH_MAKE_PW3_OUTPUT(void)#line 152{#line 152  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 3;}#line 153static __inline void TOSH_MAKE_PW4_OUTPUT(void)#line 153{#line 153  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 4;}#line 154static __inline void TOSH_MAKE_PW5_OUTPUT(void)#line 154{#line 154  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 5;}#line 155static __inline void TOSH_MAKE_PW6_OUTPUT(void)#line 155{#line 155  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 6;}#line 156static __inline void TOSH_MAKE_PW7_OUTPUT(void)#line 156{#line 156  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x14 + 0x20) |= 1 << 7;}#line 125static __inline void TOSH_MAKE_CC_CHP_OUT_INPUT(void)#line 125{#line 125  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1A + 0x20) &= ~(1 << 6);}#line 117static __inline void TOSH_MAKE_GREEN_LED_OUTPUT(void)#line 117{#line 117  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1A + 0x20) |= 1 << 1;}#line 118static __inline void TOSH_MAKE_YELLOW_LED_OUTPUT(void)#line 118{#line 118  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1A + 0x20) |= 1 << 0;}#line 116static __inline void TOSH_MAKE_RED_LED_OUTPUT(void)#line 116{#line 116  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x1A + 0x20) |= 1 << 2;}static inline #line 171void TOSH_SET_PIN_DIRECTIONS(void ){  TOSH_MAKE_RED_LED_OUTPUT();  TOSH_MAKE_YELLOW_LED_OUTPUT();  TOSH_MAKE_GREEN_LED_OUTPUT();  TOSH_MAKE_CC_CHP_OUT_INPUT();  TOSH_MAKE_PW7_OUTPUT();  TOSH_MAKE_PW6_OUTPUT();  TOSH_MAKE_PW5_OUTPUT();  TOSH_MAKE_PW4_OUTPUT();  TOSH_MAKE_PW3_OUTPUT();  TOSH_MAKE_PW2_OUTPUT();  TOSH_MAKE_PW1_OUTPUT();  TOSH_MAKE_PW0_OUTPUT();  TOSH_MAKE_CC_PALE_OUTPUT();  TOSH_MAKE_CC_PDATA_OUTPUT();  TOSH_MAKE_CC_PCLK_OUTPUT();  TOSH_MAKE_MISO_INPUT();  TOSH_MAKE_SPI_OC1C_INPUT();  TOSH_MAKE_SERIAL_ID_INPUT();  TOSH_CLR_SERIAL_ID_PIN();  TOSH_MAKE_FLASH_SELECT_OUTPUT();  TOSH_MAKE_FLASH_OUT_OUTPUT();  TOSH_MAKE_FLASH_CLK_OUTPUT();  TOSH_SET_FLASH_SELECT_PIN();  TOSH_SET_RED_LED_PIN();  TOSH_SET_YELLOW_LED_PIN();  TOSH_SET_GREEN_LED_PIN();}static inline  # 57 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/avrmote/HPLInit.nc"result_t HPLInit$init(void)#line 57{  TOSH_SET_PIN_DIRECTIONS();  return SUCCESS;}# 47 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/system/RealMain.nc"inline static  result_t RealMain$hardwareInit(void){#line 47  unsigned char result;#line 47#line 47  result = HPLInit$init();#line 47#line 47  return result;#line 47}#line 47static inline  # 75 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/mica2/HPLPotC.nc"result_t HPLPotC$Pot$finalise(void)#line 75{  return SUCCESS;}# 74 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/HPLPot.nc"inline static  result_t PotM$HPLPot$finalise(void){#line 74  unsigned char result;#line 74#line 74  result = HPLPotC$Pot$finalise();#line 74#line 74  return result;#line 74}#line 74static inline  # 66 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/mica2/HPLPotC.nc"result_t HPLPotC$Pot$increase(void)#line 66{  return SUCCESS;}# 67 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/HPLPot.nc"inline static  result_t PotM$HPLPot$increase(void){#line 67  unsigned char result;#line 67#line 67  result = HPLPotC$Pot$increase();#line 67#line 67  return result;#line 67}#line 67static inline  # 57 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/mica2/HPLPotC.nc"result_t HPLPotC$Pot$decrease(void)#line 57{  return SUCCESS;}# 59 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/HPLPot.nc"inline static  result_t PotM$HPLPot$decrease(void){#line 59  unsigned char result;#line 59#line 59  result = HPLPotC$Pot$decrease();#line 59#line 59  return result;#line 59}#line 59static inline # 93 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/system/PotM.nc"void PotM$setPot(uint8_t value)#line 93{  uint8_t i;#line 95  for (i = 0; i < 151; i++)     PotM$HPLPot$decrease();  for (i = 0; i < value; i++)     PotM$HPLPot$increase();  PotM$HPLPot$finalise();  PotM$potSetting = value;}static inline  result_t PotM$Pot$init(uint8_t initialSetting)#line 106{  PotM$setPot(initialSetting);  return SUCCESS;}# 78 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/Pot.nc"inline static  result_t RealMain$Pot$init(uint8_t arg_0xa2bbb60){#line 78  unsigned char result;#line 78#line 78  result = PotM$Pot$init(arg_0xa2bbb60);#line 78#line 78  return result;#line 78}#line 78static inline # 76 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/system/sched.c"void TOSH_sched_init(void ){  TOSH_sched_free = 0;  TOSH_sched_full = 0;}static inline # 108 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/system/tos.h"result_t rcombine(result_t r1, result_t r2){  return r1 == FAIL ? FAIL : r2;}static inline   # 58 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/system/LedsC.nc"result_t LedsC$Leds$init(void)#line 58{  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();#line 59    {      LedsC$ledsOn = 0;      {      }#line 61      ;      TOSH_SET_RED_LED_PIN();      TOSH_SET_YELLOW_LED_PIN();      TOSH_SET_GREEN_LED_PIN();    }#line 65    __nesc_atomic_end(__nesc_atomic); }  return SUCCESS;}# 56 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/Leds.nc"inline static   result_t BlinkM$Leds$init(void){#line 56  unsigned char result;#line 56#line 56  result = LedsC$Leds$init();#line 56#line 56  return result;#line 56}#line 56static inline  # 67 "BlinkM.nc"result_t BlinkM$StdControl$init(void)#line 67{  BlinkM$Leds$init();  return SUCCESS;}static inline   # 149 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/mica/HPLClock.nc"result_t HPLClock$Clock$setRate(char interval, char scale)#line 149{  scale &= 0x7;  scale |= 0x8;  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();#line 152    {      * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x37 + 0x20) &= ~(1 << 0);      * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x37 + 0x20) &= ~(1 << 1);      * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x30 + 0x20) |= 1 << 3;      * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x33 + 0x20) = scale;      * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x32 + 0x20) = 0;      * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x31 + 0x20) = interval;      * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x37 + 0x20) |= 1 << 1;    }#line 162    __nesc_atomic_end(__nesc_atomic); }  return SUCCESS;}# 96 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/Clock.nc"inline static   result_t TimerM$Clock$setRate(char arg_0xa338dc0, char arg_0xa338f00){#line 96  unsigned char result;#line 96#line 96  result = HPLClock$Clock$setRate(arg_0xa338dc0, arg_0xa338f00);#line 96#line 96  return result;#line 96}#line 96static inline  # 72 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/system/TimerM.nc"result_t TimerM$StdControl$init(void)#line 72{  TimerM$mState = 0;  TimerM$setIntervalFlag = 0;  TimerM$queue_head = TimerM$queue_tail = -1;  TimerM$queue_size = 0;  TimerM$mScale = 3;  TimerM$mInterval = TimerM$maxTimerInterval;  return TimerM$Clock$setRate(TimerM$mInterval, TimerM$mScale);}# 63 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/StdControl.nc"inline static  result_t RealMain$StdControl$init(void){#line 63  unsigned char result;#line 63#line 63  result = TimerM$StdControl$init();#line 63  result = rcombine(result, BlinkM$StdControl$init());#line 63#line 63  return result;#line 63}#line 63# 41 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/PowerManagement.nc"inline static   uint8_t TimerM$PowerManagement$adjustPower(void){#line 41  unsigned char result;#line 41#line 41  result = HPLPowerManagementM$PowerManagement$adjustPower();#line 41#line 41  return result;#line 41}#line 41static inline   # 87 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/platform/mica/HPLClock.nc"void HPLClock$Clock$setInterval(uint8_t value)#line 87{  * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x31 + 0x20) = value;}# 105 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/interfaces/Clock.nc"inline static   void TimerM$Clock$setInterval(uint8_t arg_0xa3398c0){#line 105  HPLClock$Clock$setInterval(arg_0xa3398c0);#line 105}#line 105static inline  # 93 "C:/tinyos/cygwin/opt/tinyos-1.x/tos/system/TimerM.nc"result_t TimerM$Timer$start(uint8_t id, char type, uint32_t interval)#line 94{  uint8_t diff;#line 96  if (id >= NUM_TIMERS) {#line 96    return FAIL;    }#line 97  if (type > 1) {#line 97    return FAIL;    }#line 98  TimerM$mTimerList[id].ticks = interval;  TimerM$mTimerList[id].type = type;  { __nesc_atomic_t __nesc_atomic = __nesc_atomic_start();#line 101    {      diff = * (volatile unsigned char *)(unsigned int )& * (volatile unsigned char *)(0x32 + 0x20);      interval += diff;      TimerM$mTimerList[id].ticksLeft = interval;      TimerM$mState |= 0x1 << id;      if (interval < TimerM$mInterval) {          TimerM$mInterval = interval;          TimerM$Clock$setInterval(TimerM$mInterval);          TimerM$setIntervalFlag = 0;          TimerM$PowerManagement$adjustPower();

⌨️ 快捷键说明

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