Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
11.01.2012, 01:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
В несложных (без вложенных прерываний) и когда критично время (почти всегда) проектах использую для сохранения флагов один из младших (r2-r15) регистров.
Из минусов - на один рабочий регистр меньше.
Из плюсов - вход/выход из прерывания в 5 раз быстрее...
Выше во вложении есть код.
|
|
|
|
11.01.2012, 21:07
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Подскажите пожалуйста! Написал я все-таки программку, в которой вызываю функцию выдачи посылок сигналов ДУ, коряво конечно, так вот, для выдержки нужных таймингов в посылке использую программные задержки типа _delay_us(330). В Протеусе Тини2313 работает нормально, с нормальными таймингами, а в реально прошитой Тиньке они получились по осциллу в 29-30 раз больше. В чем же дело может быть? Фьюзы ставил на 4МГц и Тинька реально на них работает. Может я где не правильно функцию ‹util/delay.h› подключил? Вот в во вложении пара файлов, не глянете?
|
|
|
|
12.01.2012, 13:24
|
|
Прохожий
Регистрация: 21.08.2006
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Помогите начинающему по ATmega8515
|
|
|
Сказали "Спасибо" sergppp
|
|
|
12.01.2012, 14:24
|
|
Прописка
Регистрация: 31.01.2011
Сообщений: 112
Сказал спасибо: 27
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от roma9112
|
Подскажите пожалуйста! Написал я все-таки программку, в которой вызываю функцию выдачи посылок сигналов ДУ, коряво конечно, так вот, для выдержки нужных таймингов в посылке использую программные задержки типа _delay_us(330). В Протеусе Тини2313 работает нормально, с нормальными таймингами, а в реально прошитой Тиньке они получились по осциллу в 29-30 раз больше. В чем же дело может быть? Фьюзы ставил на 4МГц и Тинька реально на них работает. Может я где не правильно функцию ‹util/delay.h› подключил? Вот в во вложении пара файлов, не глянете?
|
... Я бы начал с проверки настройки компилятора. Функция _delay_us зависеть от того на какая частота выставлена для контроллера в компиляторе.
|
|
|
|
12.01.2012, 15:09
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Спасибо, приду домой покачаю.
|
|
|
|
12.01.2012, 15:14
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от Vastok83
|
... Я бы начал с проверки настройки компилятора. Функция _delay_us зависеть от того на какая частота выставлена для контроллера в компиляторе.
|
Это я прекрасно понимаю, и дефайном определил 4Мгц, и в настройках проекта тоже поставил 4МГц. МК на самом деле работает на ней, т.к. принимает сигнал от такого же передатчика, если бы иначе он молчал бы. Да, а в другой вызываемой функции задержки типа _delay_ms(100) работают отлично в реально прошитом контроллере. Вот я и не пойму, где у меня ошибка кроется.
|
|
|
|
12.01.2012, 16:01
|
|
Прописка
Регистрация: 31.01.2011
Сообщений: 112
Сказал спасибо: 27
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от roma9112
|
Это я прекрасно понимаю, и дефайном определил 4Мгц, и в настройках проекта тоже поставил 4МГц. МК на самом деле работает на ней, т.к. принимает сигнал от такого же передатчика, если бы иначе он молчал бы. Да, а в другой вызываемой функции задержки типа _delay_ms(100) работают отлично в реально прошитом контроллере. Вот я и не пойму, где у меня ошибка кроется.
|
прерывания (во время _delay_ms) не могут срабатывать?
|
|
|
|
12.01.2012, 16:15
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от Vastok83
|
прерывания (во время _delay_ms) не могут срабатывать?
|
Я думаю вряд ли, я в этой функции их не использую, и посылки, которые я выдаю правильные по форме и содержанию, но по времени как бы растянуты в масштабе около 1:30
|
|
|
|
12.01.2012, 17:54
|
|
Прописка
Регистрация: 31.01.2011
Сообщений: 112
Сказал спасибо: 27
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от roma9112
|
Я думаю вряд ли, я в этой функции их не использую, и посылки, которые я выдаю правильные по форме и содержанию, но по времени как бы растянуты в масштабе около 1:30
|
Таймеры у Вас тоже генерируют прерывание?
|
|
|
|
12.01.2012, 19:37
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от Vastok83
|
Таймеры у Вас тоже генерируют прерывание?
|
Генерируют, но я их останавливаю, может полностью запретить прерывания? Сейчас попробую...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:52.
|
|