21.02.2007, 12:04
|
|
Прохожий
Регистрация: 21.12.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Глюки ПРОТЕУСа
Всем привет!
Почему в протеусе не работают внешние преравыния по изменению логического уровня на AVR (проверено на М16 и М ?
|
|
|
|
21.02.2007, 20:49
|
|
Вид на жительство
Регистрация: 03.05.2006
Сообщений: 312
Сказал спасибо: 30
Сказали Спасибо 144 раз(а) в 52 сообщении(ях)
|
Может быть включать их работу надо щщатильнее?
Либо вопрос ставить несколько по другому, потому как в модели AT90S8535 они работают:
==================================================
// INT0 ловит спад стартового импульса
// INT1 ловит спад стопового импульса
// TIMER1 считает тики между стартом и стопом
unsigned int LastTime = 0;
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
// Запуск Timer 1 (он обнулен при установке или останове)
//TCCR1A=0x00; //Не нужно, ибо и так ==0.
TCCR1B=0x01; //Собственно запуск
}
// External Interrupt 1 service routine
interrupt [EXT_INT1] void ext_int1_isr(void)
{
LastTime=TCNT1; // Сохраняем подсчитанное значение
TCCR1B=0x00; // Останов таймера
TCCR1A=0x00;
LastTime=BaseVirt/resV;
}
void main(void)
{
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: On
// INT1 Mode: Falling Edge
GIMSK=0xC0;
MCUCR=0x0A;
GIFR=0xC0;
// Global enable interrupts
#asm("sei")
while (1)
{
printf("Time=%u
",LastTime);
};
}
==================================================
2 All: если я что-нибудь делаю неправильно или недостаточно грамотно (ну, например, если следует поставить "#asm("cli")" в начале обработки прерывания и "#asm("sei")" в конце обработки прерывания
- поправьте меня, пожалуйста; буду очень признателен!
|
|
|
|
22.02.2007, 10:37
|
|
Прохожий
Регистрация: 21.12.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Глюки ПРОТЕУСа
Не понял к чему код?
Поясню:
С режимами "low level", "falling" и "rising" ПРОБЛЕМ НЕТ!!!!!
РЕЖИМ "any change" - не эмулируется. Прерывание попросту не эмулируется.
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Any change
// INT1: On
// INT1 Mode: Any change
GICR|=0xC0;
MCUCR=0x05;
GIFR=0xC0;
|
|
|
|
22.02.2007, 14:50
|
|
Вид на жительство
Регистрация: 03.05.2006
Сообщений: 312
Сказал спасибо: 30
Сказали Спасибо 144 раз(а) в 52 сообщении(ях)
|
Re: Глюки ПРОТЕУСа
Сообщение от sergjsn
|
Поясню:
С режимами "low level", "falling" и "rising" ПРОБЛЕМ НЕТ!!!!!
РЕЖИМ "any change" - не эмулируется. Прерывание попросту не эмулируется.
|
Теперь ясно. Но теперь и посоветовать нечего. Видимо таки да, глюк модели.
|
|
|
|
22.02.2007, 16:55
|
|
Прописка
Регистрация: 14.07.2005
Сообщений: 133
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 6 сообщении(ях)
|
Протеус вообще плохо моделирует схемы на AVR, несколько схем с индикаторами моделировал, ни одна не работала как надо. С PIC в Протеусе дела обстоят лучше. А для AVR надо делать стенд с живым контроллером, на нём и моделировать.
|
|
|
|
26.02.2007, 08:54
|
|
Прохожий
Регистрация: 21.12.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Глюки ПРОТЕУСа
Может есть у кого официальный протеус, мона было бы рекламацию отписать.
|
|
|
|
27.02.2007, 10:25
|
|
Прохожий
Регистрация: 21.12.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Глюки ПРОТЕУСа
В продолжение темы:
атмега64 НЕ ЭМУЛИРУЕТСЯ.
Причем тот же проект на 128 работает без проблем.
Грюстно...
ЗЫЖ А счастье было тАк возможно... и так возможно..., и вот так...
|
|
|
|
27.02.2007, 11:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от alexander70
|
для AVR надо делать стенд с живым контроллером, на нём и моделировать.
|
есть еще бесплатный маленький и удобный VMLAB
пример - avr123.nm.ru/z3.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
27.02.2007, 17:25
|
|
Прохожий
Регистрация: 21.12.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Глюки ПРОТЕУСа
Просто отладить программу хватает и аврстудио.
Хотелось бы провести отладку всего устройства.
В ВМЛАБе весьма геморно внешние компаненты цеплять к ногам контроллера, что полностью отбивает желание с ним работать.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:32.
|
|