Forum: PC-Programmierung MSP430 mit Tastatur ansteuern


von Silvio Hartlaub (Gast)


Angehängte Dateien:

Lesenswert?

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
...

von Jens123 (Gast)


Lesenswert?

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

von Silvio Hartlaub (Gast)


Lesenswert?

Ich dachte SPI, weil die Tastaur den Takt vorgibt.

von KoF (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.