0
A
回答
1
TCCR1A和TCCR1B是應對定時器#1 Arduino的宏。這就是這些行正在做的:
TCCR1A = 0; // Clear all bits of TCCR1A register
TCCR1B = 0; // Clear all bits of TCCR1B register
TCCR1B |= (1 << CS12); // ORs the current value of TCCR1B with 0b00000100,
// and stores the result back in TCCR1B
這是最後一行如何做它的魔力:
- CS12是位#TCCR1B寄存器的2,所以它有2 值
- 整數1的值爲0b00000001
<<
運算符是一個邏輯左移操作,它取左操作數,並將它的位向左移動右操作數指示的位數。在這種情況下,這意味着0b00000001變爲0b000000100。|=
運算符取左操作數的值,或將其與右操作數的值進行或運算,並將結果指定回左操作數位置。
這段代碼的結果是TCCR1A與所有位結束了清晰,TCCR1B將所有比特位清除execpt 2.
這裏是解釋這些東西的TCCRx寄存器一些更多的信息作業實際完成:
http://letsmakerobots.com/content/arduino-101-timers-and-interrupts
相關問題
- 1. Arduino中斷
- 2. Arduino編程
- 3. Arduino串行中斷
- 4. Arduino中斷替代
- 5. 在裝配中編程Arduino?
- 6. 錯誤的Arduino編程
- 7. Arduino ACI lib中斷SPI
- 8. Arduino Mega2560設置中斷
- 9. Arduino中斷干擾TimeAlarms.h
- 10. Arduino模擬引腳中斷
- 11. Arduino - 沒有中斷的計數脈衝
- 12. 帶伺服電機的arduino中斷
- 13. 中斷之外的Arduino串行通信
- 14. Arduino代碼中的不斷迭代
- 15. 中斷驅動的Arduino HD44780庫
- 16. Arduino Mega 2560中斷帶旋轉編碼器
- 17. Arduino由於C計時器編碼(中斷計數)
- 18. Arduino編碼器中斷破壞串行數據
- 19. PIC編程中斷故障。
- 20. 編程沒有IDE的Arduino DUE(Linux)
- 21. Arduino定時器中斷採樣
- 22. Arduino Uno編碼
- 23. Arduino定時器2中斷和程序衝擊
- 24. 斷言Android編程
- 25. 程序集編程和中斷處理
- 26. 編程語言針對Arduino/AVR
- 27. 使用Arduino進行LCD編程
- 28. 無法從OS X編程Arduino
- 29. 如何編譯Arduino引導程序?
- 30. 通過Arduino IDE編程ATMega324A-PU
那麼這條線呢? TIMSK1 =(1 << TOIE1); – user218649 2015-03-13 09:03:27
它在計數器溢出時啓用中斷: 定時器溢出中斷使能 - > TOIE – 2015-03-13 15:14:16