Noduino Interrupts
来自Jack's Lab
(版本间的差异)
(→Examples) |
(→Examples) |
||
| (未显示1个用户的4个中间版本) | |||
| 第3行: | 第3行: | ||
* attachInterrupt() | * attachInterrupt() | ||
* detachInterrupt() | * detachInterrupt() | ||
| − | * noInterrupts() | + | |
| + | |||
| + | * noInterrupts() --- disable the interrupt | ||
| + | * Interrupts() --- enable the interrupt | ||
| + | |||
| + | |||
| + | We suggest you to use: | ||
| + | |||
| + | * D8 (GPIO4), D9 (GPIO5) | ||
| + | * D4 (GPIO13), D5 (GPIO12), D6 (GPIO14) | ||
| + | * D2 (GPIO2) | ||
<br><br> | <br><br> | ||
| 第42行: | 第52行: | ||
} | } | ||
</source> | </source> | ||
| + | |||
| + | |||
| + | You can try the example in noduino-sdk/examples/noduino/encoder | ||
<br><br> | <br><br> | ||
| + | |||
| + | == Reference == | ||
| + | |||
| + | * [[Noduino]] | ||
| + | |||
| + | |||
<br><br> | <br><br> | ||
<br><br> | <br><br> | ||
2016年9月5日 (一) 12:35的最后版本
[编辑] 1 Overview
- attachInterrupt()
- detachInterrupt()
- noInterrupts() --- disable the interrupt
- Interrupts() --- enable the interrupt
We suggest you to use:
- D8 (GPIO4), D9 (GPIO5)
- D4 (GPIO13), D5 (GPIO12), D6 (GPIO14)
- D2 (GPIO2)
[编辑] 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
[编辑] 3 Reference
