[C/C++] Interrupt-Interruptsteuerung in C

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von hallihallo, 13. Dezember 2006 .

  1. 13. Dezember 2006
    Interrupt-Interruptsteuerung in C

    HI,
    ich schreib am Fr.(15.12) eine KLausur in DVT->daten verarbeitungs technik.
    Unteranderem wird Interruptsteurung abgefragt, praktisch sowie theoretisch.
    habe leider keine unterlagen/lektüre dazu und fertige quellcodes hab ich auch nich gefunden...
    wer echt super wenn mir jemand einen kleinen quellcode generieren könnte.z.B. bei tastendruck in unterprogramm sprigen oder so.
    schon mal recht herzlichen dank im vorraus,
    mfg

    //im wizzard den interruptkanal auf recieve oder transmitter stellen?
     
  2. 14. Dezember 2006
    AW: Interrupt-Interruptsteuerung in C

    Moin,
    für welche Platform denn? Allgemein findest du zu Interrupt über google eine ganze Menge, z.B. Wiki oder ein ganz schöner Artikel für x86 Interrupts auf tecchannel.de.
    Zudem findest du das Thema in jedem Buch über Rechnerarchitektur.
    Was für'n Wizard? Nen bisschen präziser würde da helfen
     
  3. 14. Dezember 2006
    AW: Interrupt-Interruptsteuerung in C

    präzise:
    plattform:Atmega 32
    umgebung: avr studio(da kann man standart routinen generieren lassen->wizzard)
    //durch viel rumprobieren hab ich jetz n einigermaßen lauffähigen code geschrieben...mein eingentliches problem bleibt allerdings bestehen,hier der code(auszüge):

    int kackDVT = 0;

    interrupt [EXT_INT0] void ext_int0_isr(void)
    {
    kackDVT = 1; // kackDVT auf 1 setzen wenn taste gedrückz
    }
    .
    .
    EICRA=0x03;
    EICRB=0x00;
    EIMSK=0x01;
    EIFR=0x01;

    // generierte interrupt routine
    #asm("sei")
    .
    .
    //irgendwo im code
    if (kackDVT == 1)
    {
    PORTA = PORTC = 0b01010101
    delay_ms(2000);
    PORTD = PORTE = 0b10101010 //geblinke

    meine frage:wie kann ich ein unterprogramm per interrupt öffnen?
    versucht hab ich:

    int irgendwas(int);
    int irgendwas2(int);
    .
    .
    if (kackDVT == 1)
    {
    PORTB=PORTC=irgendwas
    PORTE=PORTD=irgendwas2
    }
    .
    .
    int irgendwas (int gebe_werte)
    {
    int a=0b01010101;
    return(a)
    }
    int irgendwas2 (int gebe_werte2)
    {
    int b=0b10101010;
    return (b):
    }
    .
    .
    syntaktisch war alles in ordnung,funktioniert aber nich.Außerde´m wird der Interrupt nur akriviert wenn das prog(also n richtiges^^) abfragt in dem moment wo die taste gedrückt wird.bräuchte aber ne stendige bereitschaft und während dessen müssen auch noch andere sachen laufen(irgendne ausgabe oder so)
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.