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

📄 clock-avr.h

📁 Contiki是一个开源
💻 H
字号:
#ifndef CONTIKI_CLOCK_AVR_H#define CONTIKI_CLOCK_AVR_H#if defined (__AVR_ATmega128__)#define AVR_OUTPUT_COMPARE_INT TIMER0_COMP_vect#define OCRSetup() \  /* Select internal clock */ \  ASSR = 0x00; 				  \\  /* Set counter to zero */   \  TCNT0 = 0;				  \\  /*						  \   * Set comparison register: \   * Crystal freq. is 16000000,\   * pre-scale factor is 1024, i.e. we have 125 "ticks" / sec: \   * 16000000 = 1024 * 125 * 125 \   */ \  OCR0 = 125; \\  /* 								\   * Set timer control register: 	\   *  - prescale: 1024 (CS00 - CS02) \   *  - counter reset via comparison register (WGM01) \   */ 								\  TCCR0 =  _BV(CS00) | _BV(CS01) |  _BV(CS02) |  _BV(WGM01); \\  /* Clear interrupt flag register */ \  TIFR = 0x00; \\  /* \   * Raise interrupt when value in OCR0 is reached. Note that the \   * counter value in TCNT0 is cleared automatically. \   */ \  TIMSK = _BV (OCIE0);#elif defined (__AVR_ATmega1284P__) || (__AVR_AT90USB1287__) || (__AVR_ATmega1281__)#define OCRSetup() \  /* Select internal clock */ \  ASSR = 0x00; 				  \\  /* Set counter to zero */   \  TCNT0 = 0;				  \\  /*						  \   * Set comparison register: \   * Crystal freq. is 8000000,\   * pre-scale factor is 1024, i.e. we have 125 "ticks" / sec: \   * 8000000 = 1024 * 125 * 62.5 \   */ \  OCR0A = 62; \\  /* 								\   * Set timer control register: 	\   *  - prescale: 1024 (CS00 - CS02) \   *  - counter reset via comparison register (WGM01) \   */ 								\  TCCR0A = _BV(WGM01); \  TCCR0B =  _BV(CS00) | _BV(CS02); \\  /* Clear interrupt flag register */ \  TIFR0 = TIFR0; \\  /* \   * Raise interrupt when value in OCR0 is reached. Note that the \   * counter value in TCNT0 is cleared automatically. \   */ \  TIMSK0 = _BV (OCIE0A);#define AVR_OUTPUT_COMPARE_INT TIMER0_COMPA_vect#else#error "Setup CPU in clock-avr.h"#endif#endif //CONTIKI_CLOCK_AVR_H

⌨️ 快捷键说明

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