Пробовали ли вы использовать другой экземпляр микроконтроллера? Возможно, ваш просто бракован. Перетекание заряда из регистра общего назначения в ключи выводов — серьезный технический провал, который вряд ли мог остаться незамеченным при разработке чипа. В любом случае, стоит написать производителю.
Кстати, график бестолковый. Только сейчас заметил что на график наложены две картинки, имеются две цифры «1» и две цифры «2». По тексту непонятно о какой картинке идет речь, их вроде бы две но она одна… может, стоит переделать и перезалить нормально изображение?
Это да, согласен, оформление страдает. Насчет перезалить — не думаю что станет лучше.
По теме — это снимок осцилограммы. Вверху черным цветом линия данных при нормальном чтении (цифра 2) и при ошибке (цифра 1).
Внизу совмешены 2 сигнала — зеленым цветом разрешение чтения (2 импульса — при ошибке и в норме) и вместе с ним синим цветом строб записи (1 импульс перед вторым чтением).
Тут проблемма в том что у меня на Лисице отображается совсем не так, как в оригинале, где я пытался поместить пояснения, поэтому рисунок явно подкачал. Попробую все-таки перезалить.
Перезалей в PNG, хотя странно что с отображением BMP в браузере проблемы.
Там видно что под красным фоном есть еще один график(какие-то плавные кривые?), его «уши» торчат на левой зеленой полоске-поле там же едва видимые цифры «1» и «2» проступающие сквозь красное поле. Поидее, это должен быть ОТДЕЛЬНЫЙ график, рядом с основным?
И все же, надо бы наверно для каждого случая свою осцилограмму, а не накладывать на один график.
Ага рассказал.
У меня с ними довольно-таки странный диалог получается.
Я — у вас тут и тут не так, как описано в документации.
Они — мы знаем.
Занавес.
Умеp Альбеpт Эйнштейн и попал к Богy.
Бог емy и говоpит:
— Ты очень хоpошо пpожил жизнь, за это я исполню любое твое желание.
Эйнштейн:
— Hапиши мне фоpмyлy Миpа.
Бог начинает писать, писать, писать… Hаписал большyщyю фоpмyлy и выжидающе смотpит на Эйнштейна.
— Бог ты мой! Да y тебя же здесь ошибка! — восклицает Эйнштейн.
Бог смyщенно:
— Я знаю…
Проблема в том, что порт контроллера с питанием 3,3В
подтягивают на 5В. Совсем защёлкнуться ему не даёт сопротивление
подтяжки, но жизнь портит изрядно.
На отладочной плате не было подтягивающих резисторов к +5, вместо них я подключал встроенные резисторы к +3.3.
Картина с дефектом не менялась, кстати, осцилограмма именно с отладочной платы.
А вот так компилятор решил.
Скорее всего у них r0 рабочий регистр, который используется везде, где только нужно хранилище.
А поскольку адрес для двух чтений они решили засэйвить, вот и взяли другой регистр, в частности r2.
Но это все предположения, хотя в реале именно так и есть.
Опыт еще одного инженерного расследования