[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Собственно, MPLAB и подсказала, в чем дело, - некоторые регистры менялись как-то неожиданно и несуразно, после чего и появились сомнения, переходящие в уверенность - адреса перекрываются!
Кстати, первый раз я налетел на это дело при размещении переменной по адресу 0x77, или где-то рядом. 0x27 - это уже результат судоржных попыток найти свободное местечко.
А вот как этот анализ провести не методом тыка - скажем, по build results? И где вообще можно посмотреть их формат - что там есть что?
Кое-что понятно сразу, а местами...
И чем плох вариант с union? - было очень интересно наблюдать, как устройство вело себя все более и более осмысленно, по мере истребления многочисленных переменных с конкретными адресами. По завершению замены - никаких подозрительных деяний не наблюдалось. Тьфу, тьфу, тьфу - чтоб не сглазить!
E-mail: info@telesys.ru