Noduino Interrupts
来自Jack's Lab
(版本间的差异)
(→Overview) |
|||
第3行: | 第3行: | ||
* attachInterrupt() | * attachInterrupt() | ||
* detachInterrupt() | * detachInterrupt() | ||
− | * noInterrupts() | + | |
+ | |||
+ | * noInterrupts() --- disable the interrupt | ||
+ | * Interrupts() --- enable the interrupt | ||
<br><br> | <br><br> |
2016年8月31日 (三) 19:46的版本
1 Overview
- attachInterrupt()
- detachInterrupt()
- noInterrupts() --- disable the interrupt
- Interrupts() --- enable the interrupt
2 Examples
Use an encoder example:
- D8 connect to the channel A to receive the interrupt (rising)
- D9 connect to the channel B
#include "noduino.h" static int32_t pos = 0; static bool past_b = 0; void do_encoder_a() { past_b = (bool)digitalRead(D9); past_b ? pos++ : pos--; serial_printf("pos = %d\r\n", pos); } void setup() { serial_begin(115200); pinMode(D9, INPUT); attachInterrupt(D8, do_encoder_a, RISING); } void loop() { }
You can try the example in noduino-sdk/examples/noduino/encoder