zubr писал(а):но я не понял одного - это неправильно работает аппаратная считалка или народ не разобрался?
То что она есть - неоспоримый факт. Народ отзывается что она неправильно работает (выкидывает правильные пакеты/валидирует неправильные) - в этом вопрос. Может кто нить сказать что с подсчетом CRC все проверено и в порядке?
В пределах квартиры все ОК. 2 бетонные стены пробивает. Дальше если к лифту отойти - ползут ошибки и в итоге связь обрывается. На прямой видимости не пробовал...
Взял код от Sonny80 (отсюда исходник тут ) но после вызова Init_RF() (инициализация значениями из даташита) не читаются регистры - один из двух TR24A все время возвращает 0xFFFF, а второй то 0x0000 то 0x0080.
Использую ATMega48. Proteus в SPI-отладчике пишет что все передается хорошо в чип.
Вот кусочек кода чтения регистров (сам код от Sonny80 не менялся вообще).
char msg[32]; u16 val; u8 val_L, val_H;
//Test write - это выводит в UART ровно то что и должно - 0xAA и 0xBB val = 0xAABB; val_L = val; //Load lower 8-bits val_H = (val >> ; // Load upper 8-bits sprintf(msg, "*TEST_L: %d*\r\n", val_L); uart_putmessage(msg); sprintf(msg, "*TEST_H: %d*\r\n", val_H); uart_putmessage(msg);
for (int i=0;i<=64;i++) { _delay_ms(10); val = SpiRegRx(i); val_L = val; //Load lower 8-bits val_H = (val >> ; // Load upper 8-bits sprintf(msg, "***REG %i**Lo bit: %i***\r\n", i, val_L); uart_putmessage(msg); sprintf(msg, "***REG %i**Hi bit: %i***\r\n", i, val_H); uart_putmessage(msg); }
Выглядит так, как будто TR24A неживые и сгорели. Возможно, не стоило втыкать параллельно радиомодуль и программатор, или хз что.
Что посоветуете?
Заранее буду благодарен любым идеям. По результатам работ отпишусь подробно.
У меня точно такая же проблема, когда я отправляю значение регистров для инициализации TR24 через SPI, и потом пытаюсь их считать оттуда, я получаю или все 0x00 или все 0xFF. Решения до сих пор не нашел, реально потерял всякую надежду, уже перепроверил SPI , все соединения , все равно не работает как надо. Может быть поможет код с форума: , там чувак классы для работы с TR24 написал, я пробовал 3 разных варианта кода не один не сработал. Дебаг я делаю через UART. Пробовал 2 разных модуля TR24 и ничего.