[ create a new paste ] login | about

Link: http://codepad.org/F4fsMzPh    [ raw code | output | fork ]

C, pasted on Oct 16:
#include <mega8.h>
#include <delay.h>

//Прерывание_________________________________________________________________________________________________________

interrupt[2] void ExtInt0(void) //   Обработка прерываний на рорте Int0 (порт PD2, Вывод 4)
    {
      PORTC=0b1;    delay_ms(200);
      PORTC=0b10;   delay_ms(200);
     
    }


interrupt[3] void ExtInt1(void) //   Обработка прерываний на рорте Int1 (порт PD3, Вывод 5)
    {
      PORTC=0b100000;  delay_ms(200);
      PORTC=0b010000;  delay_ms(200);
     
    }





//Настройка портов и регистров________________________________________________________________________

void main(void)
{

DDRC=0b1111111; //Все порты С сконфигурированы как выходы

DDRD=0b11110011; //Вне порты кроме PD2 и PD3 выходы (2 и 3 это прерывания)

delay_ms(10); // задержка нужна для зарядки антидребезгого конденсатора для правельной работы


GICR=0b11000000; /* Регистр eneral Interrupt Control Register разрешает внешнее прерывание
10 000000 - по выводу int1
01 000000 - по выводу int0
11 000000 - по всем выводам */

MCUCR=0b00001111; /* Регистр Micro Controller Unit Control Registr настраиваетпрерывания на срабатывание:

      int1  int0
 0000  10    10 - по спадающему фронту сигнала на выводе  
 0000  11    11 - по нарастающему фронту
 0000  00    00 - по низкому уровню сигнала
 0000  01    01 - по любому игменению уровня сигнала */
 
#asm("sei") // или SREG=(1<<7); Status Register разрешает общее прерывание

//Основная программа___________________________________________________________________________________________
    while(1)
    {
      PORTC=0b1;      delay_ms(50);
      PORTC=0b10;     delay_ms(50);
      PORTC=0b100;    delay_ms(50);
      PORTC=0b1000;   delay_ms(50);
      PORTC=0b10000;  delay_ms(50);
      PORTC=0b0100000;delay_ms(50);
      PORTC=0b10000;  delay_ms(50);
      PORTC=0b1000;   delay_ms(50); 
      PORTC=0b100;    delay_ms(50);
      PORTC=0b10;     delay_ms(50);
      PORTC=0b1;      delay_ms(50);
     
    }
}


Output:
Line 18: error: mega8.h: No such file or directory
Line 18: error: delay.h: No such file or directory
Line 6: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
Line 12: error: invalid suffix "b1" on integer constant
Line 12: error: invalid suffix "b10" on integer constant
Line 14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
Line 12: error: invalid suffix "b100000" on integer constant
Line 12: error: invalid suffix "b010000" on integer constant
In function 'main':
Line 30: error: 'DDRC' undeclared (first use in this function)
Line 30: error: (Each undeclared identifier is reported only once
Line 30: error: for each function it appears in.)
Line 5: error: invalid suffix "b1111111" on integer constant
Line 32: error: 'DDRD' undeclared (first use in this function)
Line 5: error: invalid suffix "b11110011" on integer constant
Line 37: error: 'GICR' undeclared (first use in this function)
Line 5: error: invalid suffix "b11000000" on integer constant
Line 42: error: 'MCUCR' undeclared (first use in this function)
Line 6: error: invalid suffix "b00001111" on integer constant
Line 1: error: invalid preprocessing directive #asm
Line 55: error: 'PORTC' undeclared (first use in this function)
Line 12: error: invalid suffix "b1" on integer constant
Line 12: error: invalid suffix "b10" on integer constant
Line 12: error: invalid suffix "b100" on integer constant
Line 12: error: invalid suffix "b1000" on integer constant
Line 12: error: invalid suffix "b10000" on integer constant
Line 12: error: invalid suffix "b0100000" on integer constant
Line 12: error: invalid suffix "b10000" on integer constant
Line 12: error: invalid suffix "b1000" on integer constant
Line 12: error: invalid suffix "b100" on integer constant
Line 12: error: invalid suffix "b10" on integer constant
Line 12: error: invalid suffix "b1" on integer constant
Line 28: warning: return type of 'main' is not 'int'


Create a new paste based on this one


Comments: