v1.1
This commit is contained in:
@@ -54,16 +54,17 @@ Gyver433_xx<пин, буфер, CRC> xx;
|
||||
## Использование
|
||||
```cpp
|
||||
// ========= Gyver433_TX =========
|
||||
void sendData(T &data); // отправить данные любого типа (CRC добавится автоматически)
|
||||
void sendData(T &data); // отправить данные любого типа (CRC добавляется автоматически)
|
||||
void write(uint8_t* buf, uint8_t size); // отправить массив байт указанного размера (CRC не добавляется)
|
||||
uint8_t buffer[]; // доступ к буферу для отладки
|
||||
|
||||
// ========= Gyver433_RX =========
|
||||
uint8_t tick(); // неблокирующий приём, вернёт кол-во успешно принятых байт
|
||||
uint8_t tickWait(); // блокирующий приём, вернёт кол-во успешно принятых байт
|
||||
uint16_t tick(); // неблокирующий приём, вернёт кол-во успешно принятых байт
|
||||
uint16_t tickWait(); // блокирующий приём (более надёжный), вернёт кол-во успешно принятых байт
|
||||
uint16_t tickISR(); // тикер для прерывания по CHANGE (см. пример isr_rx)
|
||||
bool readData(T &data); // прочитает буфер в любой тип данных (в указанную переменную)
|
||||
int getSize(); // получить размер принятых данных
|
||||
bool gotData(); // вернёт true при получении корректных данных (если tick опрашивается в другом месте)
|
||||
uint16_t getSize(); // получить размер принятых данных
|
||||
uint16_t gotData(); // вернёт количество успешно принятых в tickISR() байт (см. пример isr_rx)
|
||||
uint8_t buffer[]; // доступ к буферу для отладки
|
||||
|
||||
// ============= CRC =============
|
||||
@@ -115,6 +116,31 @@ void loop() {
|
||||
}
|
||||
```
|
||||
|
||||
### Приём в прерывании
|
||||
```cpp
|
||||
#define G433_SLOW_MODE
|
||||
#include <Gyver433.h>
|
||||
Gyver433_RX<2, 20> rx; // указали пин и размер буфера
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
attachInterrupt(0, isr, CHANGE); // прерывание пина радио по CHANGE
|
||||
}
|
||||
|
||||
void isr() {
|
||||
rx.tickISR(); // спец тикер вызывается в прерывании
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// вернёт количество удачно принятых в прерывании байт
|
||||
if (rx.gotData()) {
|
||||
Serial.write(rx.buffer, rx.size);
|
||||
Serial.println();
|
||||
}
|
||||
delay(200); // имитация загруженного кода
|
||||
}
|
||||
```
|
||||
|
||||
<a id="versions"></a>
|
||||
## Версии
|
||||
- v1.0
|
||||
|
||||
Reference in New Issue
Block a user