|
Работаю в IAR, с ATMega128. Подключено немало библиотек (из стандарных). Все порты контроллера сконфигурированы как обыные входа/выхода. В какой-то момент разработки контроллер стал пытаться общаться с внешней памятью, которой на самом деле в системе нет и не собирались ставить. Что получается, контроллер даёт в частности сигнал ALE для управления памятью и выдаёт на порт С адресные сигналы. У меня на этом порту клавиатура из простых нормальноразомкнутых кнопок с замыканием на 0V. В момент нажатия на кнопку ток в цепи кнопки приближается к 80 мА. При этом вывод четко сконфигурирован как вход.DDRC=0x00. Т.е. какая-то зараза заставляет контроллер обращаться к внешней памяти. Как это выключить ? Регистр MCUCR сконфигурирован тоже правльно, т.е. дело скорее всего в компиляторе. Подскажите, где у него отключение наружной памяти принудительно? в опциях проекта галочка "энейбл экстендед мемори" естественно снята, с ног сбился, не могу заставить его не лезть во внешнюю память. Что интересно, наряду со всеми этими кривульками основная программа таки отрабатывается, контроллер всё выполняет правильно...
E-mail: info@telesys.ru