реклама на сайте
подробности

 
 
> WinAVR&AVRstudio, Подскажите кто сможет !
URANst
сообщение Nov 9 2007, 08:47
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 83
Регистрация: 2-02-06
Пользователь №: 13 912



Уважаемые ЗНАЮЩИЕ подскажите плиз что за хрень:
Работаю в связке WinAVR-20070525 и AVR studio version 4.13 build 528. Написал программку :

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
unsigned char i;
unsigned char mas[100];

interrupt(SIG_INPUT_CAPTURE1)
{
TCNT1H=0x00;
TCNT1L=0x00;
mas[i+1]=ICR1L;
mas[i]=ICR1H;
mas[i+2]=((TCCR1B>>6)&1);
i=i+3;
TCCR1B^=0x40;
}
INTERRUPT(SIG_OVERFLOW1)
{
if ((i<100) && (i!=0)) {
mas[i]=0xFF;
mas[i+1]=0xFF;
i=i+2;
}
}

void main (void)
{
DDRD=0x00;
PORTD=0x00;
TCCR1A=0x00;
TIMSK=0b00100100;
TCCR1B=0b01000001;
sei();
while(1){
};
}

Компилируется вроде все ОК. При загрузке ее в AVRStudio выполнение начинается с строки находящейся выше на одну чем void main (void) , а в цикл while(1); вообще не входит – это первое. Второе – если INTERRUPT написать в двух функциях заглавными буквами возникает ошибка при компиляции.
Мои предположения – глючные WinAVR или AVRStudio, но не факт. Что ВЫ посоветуете мне по этому поводу.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01418 секунд с 7
ELECTRONIX ©2004-2016