Привет Всем!
столкнулся со следующей проблемой. есть мастер - Samsung с апаратным TWI слейв1 - ATtiny2313 c TWI на USI слейв2 - ATmega8535 с апаратным TWI
так вот. если подключить отдельно - каждый слейв работает правильно.вместе-не хотят. тоесть 8535 зависает. вижу проблему в следующем: в TWI на 2313 время обработки прерывания по приходу байта не должно превышать 10мкс (время прихода одного бита на 100КГц) для того,чтобы не помешать передаче подтверждения и подготовке приема следующего байта.но время обработки получается 17 мкС но ето не страшно,поскольку мастер поддерживает растягивание тактов,а 2313 держит такты в нуле до выхода из прерывания. такое растягивание тактов не нравиться 8535.и она виснет
вопрос. можно ли доверять показателю времени выполнения в AVR Studio(workspace,окно I/O,Processor,Stop Watch)? сталкивался ли Кто-то с такой проблемой?как решил? решит ли проблему программа на 8535 - ПРАВИЛЬНАЯ обработка коллизий на шине? или надо подкорачивать обработчик? в том ли дело вообще?
спасибо
|