Светофор в "Си"для контроллера с SIG_INTERRUPT0

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 1
Зарегистрирован: Сб янв 31, 2009 14:57:54

Сообщение konstantinopol »

Такое дело надо спрограмировать светофор. Есть 2 микроконтроллера которые соединяются друг с другом и на каждый из них зашивается одна и таже программаю. Программа почти готова, но есть одна проблемка, у меня неправильно вызыватся SIG_INTERRUPT0.
Буду ОЧЕНЬ благодарен любой помощи !!!! Зарание благодарю.
Вот как выглядит сам борт : Изображение

Код: Выделить всё

#include <stdint>                                                                 
#include <avr>
#include <avr>
#include <avr>
#include <avr>                                                                                // In/Outputs


short cntr = 0;
int a=0; 
int b=0;

void lampochki()
{
        
                if(PORTB==1)
                {
                        PORTB=3;
                }
                else if(PORTB==3){
                        PORTB=4;
                
                }else if(PORTB==4)
                        {
                                PORTB=2;
                        
                        }else if(PORTB==2)
                                {
                                        PORTB=1;
                                        a=1;
                                        PORTC = 1;
                                        //long i;
                                        //for(i = 0; i < 1000000; i++);
                                                
                                }
        PORTC = 0;
                
}

int main()
{
        DDRB=7;
        DDRD=0;
        PORTB=1;
                DDRC = 7; 
                PORTC=0;
        TCNT0 = 244;
        cntr = 28;
        TCCR0 = 5;
        TIMSK = 1;
                GICR = 64;  // interrupt port D0 ein
                MCUCR = 1;   // oder 2
        sei();

        while(1){}
}

SIGNAL(SIG_OVERFLOW0){
       if(!(cntr--))
       {        
                    TCNT0=244;
                        cntr=28;
                        if(a==0)
                                lampochki();
       }
}

SIGNAL(SIG_INTERRUPT0){
                a=0;
}
Реклама
Потрогал лапой паяльник
Сообщения: 397
Зарегистрирован: Ср сен 19, 2007 09:21:04

Сообщение chief »

какая версия компилятора?
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»