AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
14.09.2017, 18:25
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: подтягивающие резисторы
Сообщение от nml
|
изредка попадаются исходно мертвые чипы(не входят в программирование). Видимо, производство переехало на малую Арнаутскую.
|
оно давно уже там, просто раньше не попадалось
https://www.sparkfun.com/news/350
|
|
|
|
14.09.2017, 23:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: подтягивающие резисторы
Сообщение от nml
|
Правда, последние партии мега8535 со странностями - фузы не соответствуют значениям "по умолчанию" и изредка попадаются исходно мертвые чипы(не входят в программирование). Видимо, производство переехало на малую Арнаутскую.
|
Поставщику по рукам (или снабженцу, если заказал не у оф дилера, а где "на два чатла дешевле"). От дядюшки ляо приходят такие. Бывал первый вариант - не только с фьюзами, но и с прошитой программой - по ходу излишки с какого-то китайского производства, где их шьют заранее, бывал и второй.
|
|
|
|
15.09.2017, 02:43
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: подтягивающие резисторы
jsv001, замену микросхемы стоило бы сделать сразу или проверить проект на другой плате. 99,(9)% что ошибка переедет на другой камень. Конечно останется ещё отмазка про бракованную партию камней или что ещё из теории заговоров, но таки полный код и состояние всех фьюзов совсем не помешают поиску причины сообществом.
Кстати для анализа кода существуют разнообразные средства. Возможно смогут помочь.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
15.09.2017, 04:49
|
|
Временная регистрация
Регистрация: 04.05.2007
Сообщений: 54
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: подтягивающие резисторы
Для проверки эффекта я написал проверочный код, он выглядит так.
void f1(void)
{
PORTD |= 2;
}
int main(void)
{
DDRC = 0;
PORTC = 0b00000001;
DDRD = 0b00000011;
MCUCR &= ~0b11101111;
while(1)
{
if ((PINC & 1) == 1) f1();
if ((MCUCR & 0b00010000) == 0b00010000) PORTD |= 1;
else PORTD & 0b11111110;
}
}
На этом коде эффект также воспроизвелся!
(без тумблера!)
Светодиод на PD0 не зажегся.
Светодиод на PD1 после заливки программы зажигается, но через секунд 25 тухнет.
Поставщику бить по рукам я не стал, а то распухнут, и я ложку в руки взять не смогу(пичалька).
А контроллер заменил, купил в другом месте.
Контроллер действительно на 100 КЦ дешевле был, на что я и купился.
|
|
|
|
15.09.2017, 04:56
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: подтягивающие резисторы
jsv001, а что там за операция после else?
И тэги типа CODE таки работают, плюс ещё расширенный режим редактирования есть…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
Последний раз редактировалось mike-y-k; 15.09.2017 в 14:17.
|
|
|
|
15.09.2017, 05:24
|
|
Временная регистрация
Регистрация: 04.05.2007
Сообщений: 54
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: подтягивающие резисторы
очепятка получилась
должно быть
else PORTD &= 0b11111110;
|
|
|
|
15.09.2017, 05:34
|
|
Временная регистрация
Регистрация: 04.05.2007
Сообщений: 54
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: подтягивающие резисторы
исправленный код
Код:
|
void f1(void)
{
PORTD |= 2;
}
int main(void)
{
DDRC = 0;
PORTC =1;
DDRD = 0b00000011;
MCUCR &= ~(1‹‹PUD);
while(1)
{
if ((PINC & 1) == 1) f1();
if ((MCUCR & 0b00010000) == 0b00010000) PORTD |= (1‹‹PD0);
else PORTD &= ~(1‹‹PD0);
}
} |
|
|
|
|
15.09.2017, 07:22
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: подтягивающие резисторы
jsv001,
Сообщение от jsv001
|
MCUCR &= ~0b11101111;
|
Что вот эта команда по вашей задумке делает?
Сообщение от jsv001
|
Светодиод на PD1 после заливки программы зажигается, но через секунд 25 тухнет.
|
Только тухнет он тут точно не оттого, что где-то на порте С исчезла подтяжка (поскольку команды, устанавливающей PD1 в 0 в вашем проверочном коде нет вообще)...
Последний раз редактировалось AR_Favorit; 15.09.2017 в 07:43.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо AR_Favorit за это сообщение:
|
|
|
15.09.2017, 13:19
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,380
Сказал спасибо: 1,961
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Re: подтягивающие резисторы
Сообщение от AR_Favorit
|
Поставщику по рукам (или снабженцу, если заказал не у оф дилера,
|
Снабженцу спасибо что таки нашел. Речь о меге8535 в PLCC корпусе (ну заложили сдуру в первых разработках на АВРках), которые давно не выпускаются. А тут как назло одна из тех разработок оказалась "долгоживущей". Принцип "работает - не трогай!"
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
15.09.2017, 14:16
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: подтягивающие резисторы
jsv001, таким методом проверять Ваш код без телепатов и с опечатками в его набитой руками копии - занятие абсолютно бесперспективное.
Реальный код явно "несколько" иной и отсюда уже наблюдаемые последствия.
При минимуме наличия, по Вашей версии столь сбойных МК, об этой ошибке уже давно поползла информация.
Ее отсутствие ещё один повод проанализировать весь код.
И не только на экране, а целиком всю программу после препроцессора.
Есть шанс и кривых/некорректно настроенных/не от того МК/… библиотек, да и много чего ещё можно найти при анализе кода. Уже говорил про анализаторы кода…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:45.
|
|