[an error occurred while processing this directive]
|
...например Мегу128
Года три назад был разработан прибор состоящий, грубо, из двух частей - пультовой и основного блок - назовем их так. В пульте имеется МЕГА128 заведующаяя ЖКИ и клавиатурой, а так же управляющая
по SPI интерфейсу периферией основного блока (на 4 МЕГА8, с развязкой на оптронах). Софт был написан в CVAVR. Ныне этот прибор модернизируется, софт пишется на IAR v4.11a В основном все гладко, но
вот взаимодействие с периферией никак не вяжется...реакция периферии
наблюдается по дрыганию лапкой МЕГИ8, заносящей в ЦАП принятый байт.
Анализ порождаемого ИАРОМ кода вроде не вызывает подозрений - другими
путями но тсуть та же что и у CVAVR... Наблюдение осциллографом процессов на ногах MOSI, MISO также показывает почти полную их эквивалентность .. Варьировал скорости передачи, вводил задержки между
посылками, подтягивал ножги резисторами и т. п. ..ножка МЕГИ8 не дрыгается.. Мега8(слейв) возвращает ранее отправленный в нее байт, то есть как и положено в случае когда слейв не меняет содержимое SPDR, тогда как должно возвращать(для контороля) 0хАА или 0х55 в четном или нечетном случае... Единственное аппаратное отличие модернизированного пульта - перемещение части кнопок на другой порт, с целью освобождения
ножек JTAG.. Сканирование клавиатуры отключал, проверял даже априори бредовое предположение о влиянии на работу SPI порта фьюзов JTAGEN и OCDEN.. бьюсь третий день без результата.. мож кто чего присоветует..
E-mail: info@telesys.ru