По поводу прерываний - в данном случае нет ничего серьёзного что нужно было бы так срочно отрабатывать - ставьте флаг что прерывание было и в основном цикле проверяйте
Дальше - очень не рекомендую так работать с еепром.....в начале программы выделите буффер в обычной памяти и туда скопируйте то ...
Найдено 12 результатов
- Вт апр 16, 2013 14:20:00
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
- Пн апр 15, 2013 18:27:56
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
Re: delay_ms + прерывания?
Понял, спасибо!
- Пн апр 15, 2013 17:28:57
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
Re: delay_ms + прерывания?
Граждане, вы что, прикалываетесь?
Вошел в прерывание, т.е. ЗАПРЕТИЛ на время его обработки все прерывания, а там забабахал задержку. И удивляешься что при ВСЕХ запрещенных прерываниях какое-то не работает?
А что, должно быть по-другому?
Поставить перед _delay_ms - sei();
А после cli();
При выходе ...
Вошел в прерывание, т.е. ЗАПРЕТИЛ на время его обработки все прерывания, а там забабахал задержку. И удивляешься что при ВСЕХ запрещенных прерываниях какое-то не работает?
А что, должно быть по-другому?
Поставить перед _delay_ms - sei();
А после cli();
При выходе ...
- Пн апр 15, 2013 16:53:57
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
Re: delay_ms + прерывания?
Поставил в местах "до" и "после" задержки контрольные точки регистра UCSRA. Так в циклическом режиме, когда данных на входе нет его значение 0х60. Если данные приходят во время задержки, то устанавливается 0х68. Сбросить его не удается. По даташиту это бит Bit 3 – DOR: Data OverRun (0х68=b01101000 ...
- Пн апр 15, 2013 15:42:49
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
Re: delay_ms + прерывания?
Я пробовал Ваш пример (он и сейчас в исходнике), работает, как и раньше...
Я понимаю, но до железа пока еще рано - нужно хотя бы что-то написать для начала. Не думаю, что на эту функцию протеус сильно искажает результат...
Я понимаю, но до железа пока еще рано - нужно хотя бы что-то написать для начала. Не думаю, что на эту функцию протеус сильно искажает результат...
- Пн апр 15, 2013 15:29:50
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
Re: delay_ms + прерывания?
Немного уточню. Проблема эта возникает в основном, когда срабатывает прерывание по переполнению таймера (в данном случае таймер2), т.е. когда в этом сработавшем таймере доходит до delay_ms(1000), то если в этот момент (в течении 1сек) что-то отправить на контроллер (использую PROTEUS 7.10SP0 ...
- Пн апр 15, 2013 13:47:00
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
Re: delay_ms + прерывания?
Нет, t там не при чем. Я его убрал и еепром тоже. Чтение буфера приемника заменил на getchar().
Такое впечатление, что после приема во время задержки понижается приоритет прерывания атмеги, хотя сказано, что все прерывания у меги8 имеют одинаковый приоритет ...
Такое впечатление, что после приема во время задержки понижается приоритет прерывания атмеги, хотя сказано, что все прерывания у меги8 имеют одинаковый приоритет ...
- Пн апр 15, 2013 13:01:10
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
Re: delay_ms + прерывания?
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 24.10.2012
Author :
Company :
Comments ...
- Пн апр 15, 2013 12:31:17
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
Re: delay_ms + прерывания?
Ну выше написано, что установлены 1 раз после инициализации как мастер кодевижина создал. У меня так же. Еще в мастеровской функции прерывания есть #asm("cli") и #asm("sei"), т.е. запрещает и потом же разрешает. После компиляции посмотрел сгенерированный ассемблерный код, так там есть в каждой ...
- Пн апр 15, 2013 11:35:22
- Форум: AVR
- Тема: delay_ms + прерывания?
- Ответы: 32
- Просмотры: 4822
Re: delay_ms + прерывания?
По маске это установка определенных битов в регистрах периферии, в данном случае биты RXCIE, TXCIE и UDRIE регистра UCSRB. Вы как UART настраивали???
Uart настраивал с помощью мастера Codevision - приемник с прерываниями, передатчик без прерываний.
Ну так какой результат?! Получилось?! У меня ...
Uart настраивал с помощью мастера Codevision - приемник с прерываниями, передатчик без прерываний.
Ну так какой результат?! Получилось?! У меня ...
- Вт сен 11, 2012 14:23:17
- Форум: Цифровая техника
- Тема: Драйвер CH7007 и непонятки с ним
- Ответы: 3
- Просмотры: 1692
Re: Драйвер CH7007 и непонятки с ним
Нут так что? Решилось что-нибудь? А то интересно, есть такая же МС...
- Ср сен 16, 2009 15:10:05
- Форум: Умные мысли
- Тема: Часы на газоразрядных индикаторах
- Ответы: 48974
- Просмотры: 734126