Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
10.06.2011, 11:48
|
|
Частый гость
Регистрация: 05.09.2006
Сообщений: 27
Сказал спасибо: 7
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Не работает PD4 в ATTINY 4313
Сообщение от mobil2005
|
Вероятно у вас срабатывает прерывание по перепаду, а вектор прерывания в программе пуст.
Попробуйте глобально запретить все прерывания и дерните снова ножной.
|
В первом посте привёл код. Разве не этот код не отключает всё, что связано с прерываниями: ?
Код:
|
GIMSK = 0;
PCMSK2 = 0;
PCMSK1 = 0;
GTCCR = 0;
........
TIMSK = 0; |
Мне кажется, задушил всё, что мог. Или что-то упустил?
Соседняя ножка, PD5, наделённая тамими же функциями, работает без сбоев. Прерываний не вызывает.
|
|
|
|
10.06.2011, 11:51
|
|
Частый гость
Регистрация: 05.09.2006
Сообщений: 27
Сказал спасибо: 7
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Не работает PD4 в ATTINY 4313
Сообщение от kittec
|
Ну и при чём тут сам контроллер? Это Ваш код кривой. Напишите другой код , попроще, без прерываний и излишеств разных, только вывод в порты и проверьте.
|
Повторюсь.
В программе прерывания не используются.
Программа состоит из if и for, а также присвоений и простейших логических операций.
Самое сложное в программе - UART. Но там прерывания тоже не используются.
|
|
|
|
10.06.2011, 11:58
|
|
Гражданин KAZUS.RU
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
|
Re: Не работает PD4 в ATTINY 4313
Выложите весь код, если не секретный, так быстрее помогут.
|
|
|
|
10.06.2011, 11:59
|
|
Прописка
Регистрация: 19.07.2006
Адрес: Russia,Yekaterinburg
Сообщений: 184
Сказал спасибо: 12
Сказали Спасибо 75 раз(а) в 43 сообщении(ях)
|
Re: Не работает PD4 в ATTINY 4313
Сообщение от kittec
|
Напишите другой код , попроще, без прерываний и излишеств разных, только вывод в порты и проверьте.
|
Вы всегда когда у вас что-либо не получается пишите код снова и с нуля? (:
__________________
Разработка электроники на заказ, написание ПО для ПК и МК.Обращайтесь в личку.
|
|
|
|
10.06.2011, 12:03
|
|
Частый гость
Регистрация: 05.09.2006
Сообщений: 27
Сказал спасибо: 7
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Не работает PD4 в ATTINY 4313
Сообщение от kittec
|
Выложите весь код, если не секретный, так быстрее помогут.
|
Я его тут уже практичемски полностью привёл.
Инициализация - в шапке темы.
Этот код не работает:
Код:
|
while(1)
{
PORTD |= _BV(4);
USART_Transmit('+');
} |
А вот этот код работает:
Код:
|
while(1)
{
PORTD |= _BV(5);
USART_Transmit('+');} |
Отличается, как видите, только номером пина.
|
|
|
|
10.06.2011, 12:05
|
|
Прописка
Регистрация: 19.07.2006
Адрес: Russia,Yekaterinburg
Сообщений: 184
Сказал спасибо: 12
Сказали Спасибо 75 раз(а) в 43 сообщении(ях)
|
Re: Не работает PD4 в ATTINY 4313
Сообщение от HeatSink
|
В первом посте привёл код. Разве не этот код не отключает всё, что связано с прерываниями: ?
Код:
|
GIMSK = 0;
PCMSK2 = 0;
PCMSK1 = 0;
GTCCR = 0;
........
TIMSK = 0; |
Мне кажется, задушил всё, что мог. Или что-то упустил?
Соседняя ножка, PD5, наделённая тамими же функциями, работает без сбоев. Прерываний не вызывает.
|
Не знаю что вы там и как душите, но если верить даташиту глобальные прерываения запрещаются/разрешаются в регистре SREG 7 битом.
Цитата:
|
The AVR Status Register – SREG
• Bit 7 – I: Global Interrupt Enable
The Global Interrupt Enable bit must be set for the interrupts to be enabled. The individual inter
rupt enable control is then performed in separate control registers. If the Global Interrupt Enable
Register is cleared, none of the interrupts are enabled independent of the individual interrup
enable settings. The I-bit is cleared by hardware after an interrupt has occurred, and is set by
the RETI instruction to enable subsequent interrupts. The I-bit can also be set and cleared by
the application with the SEI and CLI instructions, as described in the instruction set reference.
|
__________________
Разработка электроники на заказ, написание ПО для ПК и МК.Обращайтесь в личку.
|
|
|
|
10.06.2011, 12:13
|
|
Частый гость
Регистрация: 05.09.2006
Сообщений: 27
Сказал спасибо: 7
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Не работает PD4 в ATTINY 4313
Сообщение от mobil2005
|
Не знаю что вы там и как душите, но если верить даташиту глобальные прерываения запрещаются/разрешаются в регистре SREG 7 битом.
|
Страшно извиняюсь!!!!
Не всё скопировал, первая строчка инициализации не зацепилась. Вот:
|
|
|
|
10.06.2011, 12:18
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
|
Re: Не работает PD4 в ATTINY 4313
Сообщение от HeatSink
|
Работает на вход - всё ОК.
Работает на выход и пишу 0 - всё ОК.
Работает на выход и пишу 1 - тут же виснет.
|
А вы уверены, что нога на землю не замкнута или чрезмерно не нагружена?
|
|
|
|
10.06.2011, 12:34
|
|
Гражданин KAZUS.RU
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
Re: Не работает PD4 в ATTINY 4313
Чудес не бывает - если контроллер не один такой, с кодом все в порядке, значит дело в плате. К чему подведена ножка? Отключите питание и прозвоните на предмет закоротов с питанием/еще чем-то. Оторвите ножко от площадки. Еще раз проверьте.
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
10.06.2011, 13:08
|
|
Частый гость
Регистрация: 05.09.2006
Сообщений: 27
Сказал спасибо: 7
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Не работает PD4 в ATTINY 4313
Сообщение от st_1
|
А вы уверены, что нога на землю не замкнута или чрезмерно не нагружена?
|
Да. Ножка не работает как в свободном состоянии, так и с нагрузкой 10к.
Коротыши и всё такое проверялось неоднократно. Так (одинаково) работает несколько изделий.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:43.
|
|