Aleksandr_ » 24 янв 2011, 14:11
Возникла проблема.
Запаял я СС2500 (по SPI) напрямую к Атмеге32L. (В миниботе там он подключён к меге88 и только потом (через UART) к меге32). В моём же случае меги88 нету.
Прошивку для мегаплаты переделал под мегу32, а именно изменил:
- $regfile = "m32DEF.dat"
- конфигурацию отдельных ножек-портов, к которым подсоединился
- в процедуре Getradio вместо EIFR -> Gifr = &B10000000
Почему-то, SPI сконфигурированный как:
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Clockrate = 128 , Polarity = Low , Phase = 0
не работает.
Сконфигурировал его программно:
Config Spi = Soft ...
Теперь СС2500 вроде инициализировался (измерял уровень ножки Gdo0).
Далее посылаю на это устройство (назову его условно Приёмник) команду со стандартной мегаплаты (назову Передатчик), которая работает 100%(проверял в паре с другой стандартной мегаплатой).
Так вот мой "Приёмник" не принимает сигналы. Временами только, очень редко ловит помехи.
Есть у кого соображения по этому поводу? Может не спроста в миниботе сс2500 подключён к меге88 а не напрямую к меге32 ? Насколько это критично?