Hi alle, ich habe bei Elektor ein Glyn R32C/111 Starterkit gekauft, wie in der April-Ausgabe beschrieben (EVBR32C111-Carrier-USB). Leider fehlt auf der mitgelieferten CD das Elektor-Programm, um die LED auf dem Demo-Board blinken zu lassen: LED_Blink.x30 Weiß vielleicht einer von euch wo man das finden kann? Ansonsten schöne Ostern, wenn's soweit ist ;-)
Schau mal auf den Fenster-Titel im Bild auf Seite 21 unten. Auf der CD ist das unter \Samples\R32C_Interrupt_Toggle\R32C_Interrupt_Toggle\Debug\R32C_Interrup t_Toggle.x30 Das blinkt hier gerade munter vor sich hin ... (Das andere Beispiel unter R32C_Elektor_OLED_1 funktionierte nicht.) Jürgen
Hallo Jürgen, Bekomme folgende Fehlermeldung: Error 401: Can´t find source file (ncrt0.a30) Wo könnte der Fehler sein? Markus
Hallo Ihr, habe mir ein R32C/111 Startekit Carrier USB Board gekauft. Hatte anfangs relativ gute Erfolge mit mit den ersten Programmversuchen gehabt. Habe jedoch im Moment ein Problem mit dem Timer 0 Interrupt. Ich komme im Moment nicht weiter da dar KD100 seinen Dienst versagt wenn ich das Programm starte. Ich bin im Moment etwas ratlos.Wo habe ich noch etwas vergessen oder falsch gemacht??? Der Interrupt wird nicht aufgerufen. Eventuell kann mir jemand weiterhelfen. Vielen Dank im voraus. In sect100.inc habe ich an den entsprechenden Stellen die Interruptdefinitionen eingetragen. .glb _Timer0_Int .lword _Timer0_Int ; TIMER A0 (software int 12) Die Auszüge aus meinem Programm habe ich unten angehängt. Haufpmodul #include "Test.h" void main(void) { Init_timerA0(); while(1){ // Hauptprogramm schleife Start_T0(1000); while(T1_end_flag); p3_0= ~p3_0; } } // Interruptroutinen #include "Test.h" // Interrupt declaration #pragma INTERRUPT Timer0_Int void Init_timerA0(void) { asm(" FCLR I"); // Disable all interrupts ta0mr=0x40; // TA0 Timer mode // count div f8 ta0=0x0619; // Teilerfaktor ta0ic=0x04; // set interrupt level to 4 ta0s=1; // Start timer A0 asm("FSET I"); // enable all interrupts } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // ++++++++++++++++++++++++ Interrupt +++++++++++++++++++++++++++ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Starten einer Ablaufzeit in Abhängigkeit des Timer Interrupts // von Timer A1 void Start_T0(int Wert){ T1MAX=Wert; T1=0; T1_end_flag = 1; } // Starten einer Ablaufzeit in Abhängigkeit des Timer Interrupts // von Timer A1 Ablaufzeit 1mS void Start_T2(int Wert){ T2MAX=Wert; T2=0; T2_end_flag = 1; } void Timer0_Int(void) { p3_0= ~p3_0; if (T1_end_flag){ T1++; if(T1 >= T1MAX){ T1_end_flag=0; // p3_0= ~p3_0; } } if (T2_end_flag){ T2++; if(T2 >= T2MAX){ T2_end_flag=0; p3_0= ~p3_0; } } return; }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.