Gast
#199544
Hallo, ich möchte gerne die Eingabe von einer Tastatur an den MSP430F149 übertragen. Jedoch Programm (angeschlossenes, funktionierendes LCD) zeigt kein I - Interrupt für eingehende Daten am USART an. Für jeden Tipp wäre ich sehr dankbar. Meine Annahmen: -Takt von Tastatur (Tastatur= Master, MSP = Slave) -Übertragung im SPI Mode -Datenfluß von Tastatur zum MSP nur 2 Anschlüsse: Taktleitung der Tastatur (5V) an Port P3.1/SIMO0 (2,63V) (High-level input voltage VIL min 0,8xVCC/gemesssen 2,63V = 0,81xVCC) Datenleitung der Tastatur (5V) an Port P3.3/UCLK0 (2,63V) (Es müssen ja nur Daten in Richtung MSP fließen, oder?) -Bei gedrückter Tastatur fäll die Spannung (gemessen mit Dig. Multimeter) beider Leitungen geringfügig auf 2,61V ab. Pulsierendes Signal! - somit schein Tastatur zu senden. Tastatur Datenformat: 1 Startbit. (immer 0), 8 Databits, 1 Paritybit (odd parity),1 Stopbit (immer 1); 5V (2,63V am MSP) = logic 1, 0V=logic 0 Software: U0CTL |= SWRST; //USART Software reset U0CTL |= CHAR; // 8 Data bits U0CTL |= SYNC; // USART Mode (SPI) U0TCTL |=CKPH; // Clock Phase 1/1 Takt verschoben U0TCTL |=CKPL; //Clock Polarity/ Inactive Level is high ; //Data is output with falling edge of UCLK U0TCTL |=STC; // 3-pin SPI mode ME1 |= USPIE0; // USART SPI einschalten U0CTL &= ~SWRST; // USART freigeben IE1 |= URXIE0; // RX-interrupts anschalten IFG1 &= ~URXIFG0; // initales interrupt-flag loeschen ... //Interrunpt Handler soll Eingang von Daten am USART anzeigen: #pragma interrupt_handler usart0_rx:UART0RX_VECTOR void usart0_rx (void) { LCDOuts("I");} // Für USART Input Anzeige am LCD ...