Datum: 23.04.2008 12:21
Hallo, ich konnte mit einem ähnlichen Programm problemslos ein Slave steuern. Nun will ich das Nokia Display ansteuern. Das Programm hängt aber in einer Endloschleife ung sendet nichts. Ich weiß nicht warum. Hoffentlich kann mir jemand helfen.
#include <msp430x20x3.h> void send_spi(unsigned int, unsigned int); void init_display(); void wait(unsigned int); void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer P1DIR = 25; P1OUT &= 0x08; USICTL0 |= USISWRST; // Config SPI USICTL0 |= USIMST + USIPE6 + USIPE5 + USIOE; // Master mode USICTL1 |= USICKPH; USICKCTL = USIDIV_1 + USISSEL_2; // 1/2 MCLK USICTL0 &= ~USISWRST; // USI released for operation init_display(); P1OUT |= 0x01; } void wait(unsigned int time) { volatile unsigned int i; for(i=0;i<time;i++); } void send_spi(unsigned int high, unsigned int low) { USISRL=low; USISRH=high; P1OUT &= ~0x10; // CS low USICNT=73; //16-Bit Mode, Counter=9 while(!(USIIFG & USICTL1)); //HIER BLEIBT ES HÄNGEN P1OUT |= 0x10; // CS high } void init_display() { while(1) { P1OUT &= ~0x08; // Reset = low wait(0xFFFF); P1OUT |= 0x08; // Reset = high wait(0xF0); send_spi(0x08,0x10); // Leave Sleep Mode, turn on Booster 0x11 } } |
Wieso sendet er nichts ? Ich habe das Programm nahezu 1:1 von einem anderen funktionierenden Programm übernommen ? Es bleibt in der while - Schleife hängen und macht nichts mehr. Das USIIFG - Bit wird nie gelöscht ! Danke !
Datum: 23.04.2008 13:12
Muss es auch, da du in init_display() while(1) geschrieben hast.
Datum: 23.04.2008 13:21
Hallo, dummer Fehler. Geht jetzt wieder.
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel


