Прерывания, паузы delay в AVR

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Прерывания, паузы delay в AVR

Сообщение Brainiac » 28 мар 2008, 11:34

Прервания в AVR описаны с примером симуляции с двумя кнопками на стр. 3 курса - http://avr123.nm.ru/03.htm

Паузы в AVR - delay_ms(135); delay_us(72); - на странице "Си для МК" - http://avr123.nm.ru/05.htm

при delay_ms(3000) на ноге лог1...нога МК управляет симистором а тот лампочкой...
притом лампочка не горит 3 секунды а вспыхнет и все меньше секунды,
контроллер рабочий attiny2313
кодевижн
язык С
частота 1 мгц без кварца...
что делать???
Brainiac
 
Сообщения: 70
Зарегистрирован: 16 дек 2007, 20:14
Откуда: Владимир-Москва
Skype: brainiac9204
прог. языки: Basic, Pascal, Fortran, ANSI C, C++
ФИО: Ваня

Re: delay_ms трабла

Сообщение Digit » 28 мар 2008, 12:40

схему нарисовать

Добавлено спустя 1 минуту 21 секунду:
и описать подробнее.
а то не ясно. что, при других значениях delay_ms работает иначе? или что? Почему в микроконтроллерах вопрос, а не в электронике?
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: delay_ms трабла

Сообщение avr123.nm.ru » 28 мар 2008, 12:50

Brainiac писал(а):что делать ???


Изображение

:ROFL: Ух! До слез! :lol: <Digit>
забираю себе в подпись :lol: <Myp>
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: delay_ms трабла

Сообщение Brainiac » 28 мар 2008, 14:08

схема в пайнте... нарисована коряво ... ногами не пинать....
а трабла в том что при delay_ms(3000) оно должно гореть 3 секунды а тут просто вспышка...
один человек пиковод мне сказал что возможно че-то типа

NebsteR (23:00:59 27/03/2008)
#use delay(clock=32768)

NebsteR (23:01:18 27/03/2008)
у меня в примере частота для рассчета delay 32768

а у меня частота в кодевижне 1 мгц
Вложения
.rar
схема
(1.21 КиБ) Скачиваний: 46
Brainiac
 
Сообщения: 70
Зарегистрирован: 16 дек 2007, 20:14
Откуда: Владимир-Москва
Skype: brainiac9204
прог. языки: Basic, Pascal, Fortran, ANSI C, C++
ФИО: Ваня

Re: delay_ms трабла

Сообщение Myp » 28 мар 2008, 14:09

это
а какой кварц стоит?
а фьюзы выставлены правильно на нужную частоту?
а предделитель не используется??
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: delay_ms трабла

Сообщение Brainiac » 28 мар 2008, 14:23

кварца нет
внутренний на 1 мгц
фьюзов нет
что такое предделитель???

Добавлено спустя 6 минут 10 секунд:
а насчет того что в МК расположено так почему я не прав???
вроде вопрос по языку С и устройству МК...
извините если что не так и не удаляйте пжлста
Brainiac
 
Сообщения: 70
Зарегистрирован: 16 дек 2007, 20:14
Откуда: Владимир-Москва
Skype: brainiac9204
прог. языки: Basic, Pascal, Fortran, ANSI C, C++
ФИО: Ваня

Re: delay_ms трабла

Сообщение Myp » 28 мар 2008, 14:27

а вы попробуйте не одну длинную задержку на 3000
а 4 подрят на 750


кстати рекомендую попробовать попробовать разные задержки ещё и для того чтобы на 100% убедится что проблема не в электронике. мб там помехи по питанию и МК глючит, мало ли что бывает...
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: delay_ms трабла

Сообщение Brainiac » 28 мар 2008, 14:31

помехи хмм... ну вроде все так
хотя поставлена кренка кондеры на вход 470 мкф на выход 100 мкф
правда нет на 0,1 мкф кондера...
щас поем и поставлю и посмотрим...
Brainiac
 
Сообщения: 70
Зарегистрирован: 16 дек 2007, 20:14
Откуда: Владимир-Москва
Skype: brainiac9204
прог. языки: Basic, Pascal, Fortran, ANSI C, C++
ФИО: Ваня

Re: delay_ms трабла

Сообщение Victorovych » 28 мар 2008, 14:33

Здается мне что при включении сопротивление лампочки выростает и тока на управляющем электроде становится недостаточно.
попробуй переставить лампочку в противоположную цепь
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: delay_ms трабла

Сообщение Brainiac » 28 мар 2008, 16:03

поставил кондер на питание 0,1 мкф ну на нем было написано 104 ...
затем включил вот проши текст
Код: Выделить всё
#include
#include
void main(void) {
while(1) {DDRB=4;
PORTB=4;
delay_ms(3000);
PORTB=0;
delay_ms(30);
PORTB=4;
delay_ms(5000);
PORTB=0;
delay_ms(50);
PORTB=4;
delay_ms(7000);
PORTB=0;
delay_ms(50);
PORTB=4;
delay_ms(10000);
PORTB=0;};}


а оно просто берет и могрнет вспышкой погаснет могрнет и т.д.
причем медленно моргнет но видны те промежутки при которых порт выключен
что делать дальше??
а схему поменял лампочку поставил в другой конец все-равно так же ...

Добавлено спустя 31 минуту 14 секунд:
поставил другой мк - тоже самое ...наверное это глюк так как переменка от мк находится очень близко сантиметра 1,5 всего ...
вот и наводки мешают думать мк

Специально для форматирования кода у нас есть тег [code], который можно вставить, ткнув соответствующую кнопочку над окном ввода при написании сообщения.
<Digit>
Brainiac
 
Сообщения: 70
Зарегистрирован: 16 дек 2007, 20:14
Откуда: Владимир-Москва
Skype: brainiac9204
прог. языки: Basic, Pascal, Fortran, ANSI C, C++
ФИО: Ваня

Re: delay_ms трабла

Сообщение Victorovych » 28 мар 2008, 16:16

Засеки вспышки/паузы секундомером и опиши - по фотографии лечить очень сложно
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: delay_ms трабла

Сообщение Myp » 28 мар 2008, 16:21

а ты пойди от противного
пускай у тебя мк тушит лампочку

и на короткое время задержки включает

типа 3 секунды выключена потом вспышка и опять 3 секунды выключена

вот и узнаешь в чём дело
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: delay_ms трабла

Сообщение Brainiac » 28 мар 2008, 16:25

вы плохие экстрасенсы...
когда у меня была задержка сначала 3 сек моргнуло полсекунды ...
даже сейчас когда задержка 10 сек тоже где то 0,7 секунды
пипец скоро буду бицца галавой апстену...
Brainiac
 
Сообщения: 70
Зарегистрирован: 16 дек 2007, 20:14
Откуда: Владимир-Москва
Skype: brainiac9204
прог. языки: Basic, Pascal, Fortran, ANSI C, C++
ФИО: Ваня

Re: delay_ms трабла

Сообщение Myp » 28 мар 2008, 16:28

а без лампочки оно вобще работает??? ну светодиодиком поморгать там всё такое
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: delay_ms трабла

Сообщение Brainiac » 28 мар 2008, 16:48

Код: Выделить всё
void main(void) {
while(1) {DDRB=4;
PORTB=0;
delay_ms(3000);
PORTB=4;
delay_ms(300);
PORTB=0;
delay_ms(5000);
PORTB=4;
delay_ms(500);
PORTB=0;
delay_ms(7000);
PORTB=4;
delay_ms(500);
PORTB=0;
delay_ms(10000);
PORTB=4;};}


ну кароче вот код в первый раз мк ваще не соблюдал интервалы какое то беспорядочное мигание при большом промежутке
а во второй там лампочка очень быстро моргала...
и притом такое ощущение что эти промежутки во втором случае они одинаковы - что порт включен что выключен...
Последний раз редактировалось Digit 29 мар 2008, 00:46, всего редактировалось 1 раз.
Причина: [CODE]!!!!!!!
Brainiac
 
Сообщения: 70
Зарегистрирован: 16 дек 2007, 20:14
Откуда: Владимир-Москва
Skype: brainiac9204
прог. языки: Basic, Pascal, Fortran, ANSI C, C++
ФИО: Ваня

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20