Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы

xmega portR неужели спалил?

Непрочитано 05.01.2014, 20:45  
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию xmega portR неужели спалил?

Такое дело...
Использую atXmega 256A3U
У этого микроконтроллера есть PortR из двух пинов 0 и 1, альтернативные функции которых XTAL2 и XTAL1 соответственно.
На обоих пинах у меня кнопки (подключенные через резисторы по 1кОм), замыкающие на землю. Подтяжка к верху используется внутренняя, активируется программно. Всё прекрасно работало. В один прекрасный момент, обнаружил что кнопка на пине 0 не работает. Смотрю пин, а он оказывается работает как выход и на выходе 0 (не "болтается в воздухе", а именно как выход 0).
Думал, что в программе чего-то наворотил, однако ничего такого не нашел, но на всякий случай прошил резервной копией прошивки в которой точно всё работало, однако ничего не изменилось.
Как мне кажется, это произошло после того, как я подключил к программе ASF, стал инициализировать библиотечными функциями источник тактового сигнала (используется внутренний) и "sleep manager". Повторюсь, что возврат к старой прошивке ничего не дал. С момента, как всё точно работало и до момента, как работать перестало в плату ничем не лазил, только программировал.
Есть какие-нибудь идеи? Может кто сталкивался с чем-то похожим? Что можно проверить/попробовать? Не верится, что мог спалить пин, смущает что он как выход работает.
Реклама:
kaf-0 вне форума  
Непрочитано 05.01.2014, 21:32  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: xmega portR неужели спалил?

А просто тупо, в лоб, без всяких АСФ-ов, поморгать светиком на этом пине?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 05.01.2014, 21:48  
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: xmega portR неужели спалил?

Да пробовал конечно, убрал всё, выводил в порт только единицу, а на выходе всё равно 0.
kaf-0 вне форума  
Непрочитано 05.01.2014, 22:10  
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: xmega portR неужели спалил?

Мистика какая-то.
Я сейчас из программы всё убрал, сделал только бесконечный цикл в котором инициализировал пин как выход и устанавливал в нем 1. И, о чудо, единица на выходе появилась. Стал подключать к проекту по очереди различные функции инициализации, всё работает. Вот уже залил проект целиком со всем функционалом, всё работает. Однако, через некоторое время (во время которого ничего не делал вообще), сработала функция, завязанная на эту кнопку, тыкаюсь в порт, а там опять ноль. При этом кнопку я уже отключил, на всякий случай. Отключил питание, включаю снова, работает. Вот уже прошло времени на много больше, чем после первого включения, по прежнему всё ок.
Наверное, плату чистить надо лучше...
kaf-0 вне форума  
Непрочитано 05.01.2014, 22:14  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: xmega portR неужели спалил?

Сообщение от kaf-0 Посмотреть сообщение
Наверное, плату чистить надо лучше...
Из-за нечистой платы направленность пина не поменяется, только из-за нечистой программы. Или пятен на солнце, марсе...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 05.01.2014, 22:25  
kaf-0
Временная регистрация
 
Регистрация: 08.12.2006
Сообщений: 84
Сказал спасибо: 5
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
kaf-0 на пути к лучшему
По умолчанию Re: xmega portR неужели спалил?

Сообщение от akegor Посмотреть сообщение
Из-за нечистой платы направленность пина не поменяется, только из-за нечистой программы. Или пятен на солнце, марсе...
В исходной программе, пин был только подтянут к верху. Не чистая плата могла "опустить" его вниз.
В программе слово "PORTR" используется только в двух местах - в функции инициализации и в функции чтения состояния.
Хотелось бы докопаться до истины, но проблема пока не повторяется.
Действительно, причиной большинства подобных проблем оказывается "кривой" код, но сейчас я уверен на 98% что дело не в нем.
kaf-0 вне форума  
Непрочитано 05.01.2014, 22:42  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: xmega portR неужели спалил?

Сообщение от kaf-0 Посмотреть сообщение
Не чистая плата
некошерная... религия какая-то у вас. ищите в ПО упоминание на порт в/в и анализируйте. или в хексе-дизассемблере забейте поиск по адресу порта. далее вы знаете, что делать

Последний раз редактировалось jump; 05.01.2014 в 22:45.
jump вне форума  
Непрочитано 06.01.2014, 21:12  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: xmega portR неужели спалил?

Сообщение от kaf-0 Посмотреть сообщение
В программе слово "PORTR" используется только в двух местах - в функции инициализации и в функции чтения состояния.
Могу ошибаться (с xMega никогда не работал). А разве в xMege для чтения состояния используется не PINR?
Godzilla82 вне форума  
Непрочитано 06.01.2014, 21:29  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: xmega portR неужели спалил?

Сообщение от kaf-0 Посмотреть сообщение
слово "PORTR"
вход на выход не поменяет.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 06.01.2014, 22:27  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: xmega portR неужели спалил?

Сообщение от akegor Посмотреть сообщение
вход на выход не поменяет.
Поэтому продолжаем считывать состояние порта, используя PORTR.
Godzilla82 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Библиотеки для Xmega под WinAVR harchenko_pavel AVR 21 15.03.2013 23:00
Симуляция XMega eugin_b Proteus, KiCAD и другие ECAD 1 25.11.2012 23:52
DDS на xmega - есть вопрос code-by Микроконтроллеры, АЦП, память и т.д 3 11.04.2012 21:35
PDI программатор для XMEGA Archer07 Микроконтроллеры, АЦП, память и т.д 1 14.02.2011 23:46
Proteus и Xmega семейство ua_gruzin Микроконтроллеры, АЦП, память и т.д 2 09.02.2010 12:52


Часовой пояс GMT +4, время: 00:02.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.