Ср май 30, 2018 23:27:53
uint8_t Transceiver_HandleStatus(void)
{
uint8_t ClearRX = 0;
uint8_t PHStatus[1] = {0};
uint8_t FIFOStatus[2] = {0};
Transceiver_ReadRegs(Transceiver_GET_PH_STATUS, NULL, 0, PHStatus, 1, 1);
if (PHStatus[Transceiver_PH_STATUS_PH_PEND] & Transceiver_PH_STATUS_PACKET_RX_PEND) {
Transceiver_ReadRegs(Transceiver_FIFO_INFO, NULL, 0, FIFOStatus, 2, 1);
if (FIFOStatus[0] > 0 && FIFOStatus[0] < 64) {
Transceiver_ReadRXBuf(Transceiver_Data, FIFOStatus[0]);
#ifdef SAE_ENABLE_DEBUG
dxprintf("RX %d:\n", FIFOStatus[0]);
for (int i = 0; i < FIFOStatus[0]; i++) {
dxprintf("%x ", Transceiver_Data[i]);
}
dxprintf("\n");
#endif
} else {
ClearRX = 1;
}
}
if (PHStatus[Transceiver_PH_STATUS_PH_PEND] & Transceiver_PH_STATUS_PACKET_SENT_PEND) {
ClearRX = 1;
}
if (ClearRX) {
// Clear the RX buf
uint8_t Params[1] = {0x03};
Transceiver_ReadRegs(Transceiver_FIFO_INFO, Params, 1, FIFOStatus, 2, 1);
}
Transceiver_RxMode();
return FIFOStatus[0];
}
RX 23:
10 f0 cf 3 a9 db 1 11 20 8 18 1 80 8 3 c0 0 0 18 4f f 7a 7a
SetSyncWord: ec a2
RX 23:
10 f0 cf 3 a9 db 1 11 20 8 18 1 80 8 3 c0 0 0 19 f8 12 bb 7e
TX 12:
b 0 ec a2 1 a9 db 1 dd cc bb aa
RX 35:
17 10 f0 cf 3 a9 db 1 11 20 8 1 80 8 3 c0 0 0 1a 21 34 f8 73 3 8f 55 99 75 5b 67 1c f9 89 fa 96
SetSyncWord: ec a2
RX 35:
17 10 f0 cf 3 a9 db 1 11 20 8 1 80 8 3 c0 0 0 1b 96 29 39 77 17 65 6b 5d 94 51 db b7 62 3a d7 c5
Чт май 31, 2018 11:54:55
greeka писал(а):Как с этим бороться я уже не знаю.
Чт май 31, 2018 12:11:48
Чт май 31, 2018 14:13:12
greeka писал(а):Почему у меня меняется длинна данных в RX буфере после отправки данных? Более того дополняется мусором каким-то.
greeka писал(а):Как с этим бороться
Чт май 31, 2018 14:23:27
Чт май 31, 2018 15:09:16
greeka писал(а):В регистры модуля вы сами ничего записать не можете, только через SPI.
greeka писал(а):Буферы там по 64 байта, их нельзя ни уменьшить ни увеличить они в чипе так сделаны.
Чт май 31, 2018 15:15:06
Чт май 31, 2018 15:32:05
Чт май 31, 2018 16:31:02
Чт май 31, 2018 21:35:27
Пт июн 01, 2018 00:15:24
Пт июн 01, 2018 00:35:17
roman.com писал(а):Переписать программу по нормальному))
Пт июн 01, 2018 14:24:48
RX 0 6:
05 00 aa bb cc dd
PKT_CONFIG1 - 0x02
PKT_LEN - 0x2A
PKT_LEN_FIELD_SOURCE - 0x01
PKT_LEN_ADJUST - 0
PKT_TX_THRESHOLD - 0x30
PKT_RX_THRESHOLD - 0x30
PKT_FIELD_1_LENGTH_12_8 - 0
PKT_FIELD_1_LENGTH_7_0 - 0x01
PKT_FIELD_1_CONFIG - 0x04
PKT_FIELD_1_CRC_CONFIG - 0x82
PKT_FIELD_2_LENGTH_12_8 - 0
PKT_FIELD_2_LENGTH_7_0 - 0x05
PKT_FIELD_2_CONFIG - 0