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 ...
Hallo ich mein mich zu erinenrn, dass die tastatur 2 startbits hat nur wieso ueber SPI?? ich hab mir sowas ueber Software aufgebaut klappt Prima nur ebend fuer den AVR schau mal im Forum, da sind einige beispiele
seh mal in die codesamples vom mspgcc da ist ein code für das auslesen von keyboards. ebenso kann man da codes für softwareuarts, glcd,... finden. wenn du dir die samples ansiehßt, wirst du schon was passendes finden ;-) mfg KoF
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.