Ср мар 02, 2016 22:43:52
Настройка приёмника:
// регистр данные
SPI_Write(0x11+0x20); SPI_Write(0x03); //Хотим принять 3 байта
// включаем камень
SPI_Write(0x00+0x20); SPI_Write(0x0F); //CONFIG PRIM_RX-RX, PWR_UP, CRC-2байта, CRC, вкл маскировка прерываний выкл
CE=1;
Настройка передатчика:
SPI_Write(0xA0); SPI_Write(0x11); //Грузим значение в W_TX_PAYLOAD
SPI_Write(0x22); SPI_Write(0x33); //итого 3 байта, например
// включаем камень
SPI_Write(0x00+0x20); SPI_Write(0x0E); //CONFIG PRIM_RX-TX, PWR_UP, CRC-2байта, CRC, вкл маскировка прерываний выкл)
CE=1;
Delay_us(15);
CE=0;
// усё улетело
Вс май 22, 2016 20:57:29
Пн июн 06, 2016 16:19:19
Пн июн 06, 2016 19:24:15
Вс ноя 06, 2016 15:18:57
alex_ писал(а):в приёмнике должно стоять то количество байт которое вы хотите передать иначе передатчик выдаст ошибку, а на приёмнике будет пусто.
Вс ноя 06, 2016 15:26:52
Вс ноя 06, 2016 15:49:44
Denkot писал(а):как же квитанции?
Вс ноя 06, 2016 15:56:06
Вс ноя 06, 2016 16:29:02
Пн ноя 07, 2016 19:25:04
roman.com писал(а):Бред полный...
Передатчик ни при каких условиях не выдаст ошибку. Передатчику пофигу)))
Если в приёмнике указано больше байт, чем передал передатчик, то последнии байты будут случайный набор цифр - это просто шум приёмника (шум эфира)... Другими словами - передатчик уже закончил передачу и выключился, а приёмник продолжает принимать байты(шум эфира)... Вот и всё.
А если указать в настройках приёмника меньше байт, чем передаёт передатчик, то приёмник просто первые байты. А первые байты - адрес передатчика...
Короче... Передатчику пофигу что передавать. А приёмнику пофигу что принимать))) Вот и всё)) .
Вт ноя 08, 2016 10:01:39
alex_ писал(а):у этой ошибки даже название есть: MAX_RT передача не удалась так как не поступило ответа от приёмника, поскольку не совпала контрольная сумма, опять же идёт речь о настройках по дефолту, а не про то что вы такой умный и по отключали всё якобы лишнее.
alex_ писал(а):MAX_RT передача не удалась так как не поступило ответа от приёмника
Вт ноя 08, 2016 19:59:10
В принципе да, но если хотите получить от "приёмника" ACK а не MAX_RT, то следует передавать то кол-бо байт на которое настроен "приёмник".Передатчику пофигу что передавать. )))
Вт ноя 08, 2016 22:10:24
alex_ писал(а):По поводу CRC, я как то не заморачивался, да и зачем, один модуль сам его сформирует, а второй примет и сравнит со своим, и отсюда сделает вывод принять или выбросить пакет. Вот например у ds18b20 дела обстоят по другому, тут контрольную сумму надо самому(контроллеру) считать, иначе не узнаешь битый пакет пришёл или нет.
Пт мар 03, 2017 10:28:48
Ср авг 23, 2017 13:39:36
Сб авг 26, 2017 15:38:48
Merlin писал(а):Как уменьшить дальность этого передатчика?Скажем до 1го метра. Программный метод все равно сильно далеко где то до 10 меров
Вс авг 27, 2017 20:16:31
Чт сен 07, 2017 13:43:24
Чт сен 07, 2017 15:10:45
Там есть целая нога созданная специально для этой цели.И еще 1 вопрос его что надо постоянно опрашивать на предмет приёма он сам уведомляет что принял что то?