Codewarrior Interrupt

Gast #3654610
Lesenswert?
• ▲
▼
hallo allerseits.

Sitze seit tagen vor einer kleinen Aufgabe zur 
Mikrocontroller-Programmierung.

Es geht um ein LED-Lauflicht, das mit Hilfe von Keyboard-Interrupts auf 
dem Port a unterbrochen und wieder gestartet werden soll.

Habe folgendes zusammengeschustert:
(selbst geschrieben ist im Grunde nur der Teil,
der mit Interrupt und Port a zusaemmenhaengt)
1
#include <hidef.h> /* for EnableInterrupts macro */
2
#include "derivative.h" /* include peripheral declarations */
3

4
int delay = 50;
5

6

7
// eine simple delay Funktion die soweit vorgegeben war
8
static void Delay(void) {
9
int cnt=0;
10
while (cnt <delay) {
11
  __RESET_WATCHDOG();
12
  cnt++;
13
}} 
14

15

16
// die Hauptfunktion, in der ich versucht habe, dem Programm beizubringen, // nur bei gesetztem interrupt weiterzugehen
17
#pragma TRAP_PROC
18
void Lightshow (void) {
19
unsigned char i; 
20
for (i=1; i>0; i<<=1) {
21

22
// nur wenn port a == 1 soll das programm weiterlaufen
23
  while (PTA == 1) { 
24
  PTB = i;
25
  Delay();
26
// Keaboard Acknowledge bit löschen
27
  KBSCR_ACKK = 1;         
28
}}}
29

30
void main(void) {
31

32
//zuweisung des interrupts an port a
33
  DDRA = 0x00;
34
  KBSCR_MODEK = 0;
35
  KBSCR_IMASKK = 0;
36
  KBIER = 0x01;  
37

38
  
39
  DDRB = 0xFF;
40
  PTB = 0x0;
41

42
 
43
  EnableInterrupts;
44
  for(;;) {
45
  Lightshow();
46
   // __RESET_WATCHDOG(); /* feeds the dog */
47
  } /* loop forever */
48
  /* please make sure that you never leave main */
49
}

Wäre super wenn jemand mir sagen koennte, wie zum Geier ich hier weiter 
kaeme.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.