void rf12_rxdata(uint8_t *data, uint8_t number) { rf12_trans(0x82D9); // RX on for (uint8_t i = 0; i < number; i++) { rf12_ready(); *data++ = rf12_trans(0xB000); } rf12_trans(0x8201); // RX off }
void rf12_txdata(uint8_t node_id, uint8_t *data, uint8_t number) { rf12_trans(0x8239); // TX on rf12_ready(); rf12_trans(0xB8AA); rf12_ready(); rf12_trans(0xB8AA); rf12_ready(); rf12_trans(0xB8AA); rf12_ready(); rf12_trans(0xB82D); rf12_ready(); rf12_trans(0xB800 | node_id); for (uint8_t i = 0; i < number; i++) { rf12_ready(); rf12_trans(0xB800 | (*data++)); } rf12_ready(); rf12_trans(0xB8AA); rf12_ready(); rf12_trans(0x8201); // TX off rf12_ready(); rf12_trans(0xB8AA); }
unsigned short noinline rf12_readytrans(unsigned short wert) { rf12_ready(); return rf12_trans(wert); }