Gast
#611590
Salu zusammen
Ich habe hier eine kleine Seriel/USB Platine von FTDI. (MM232R)
Folgendes:
1. Wenn ich den USB Stecker einstecke am PC findet der Programmer das
Device nicht mehr (TI USB-FET)
2. Wenn ich Hyperterminal starte erscheint folgende Meldung (siehe
Anhang) Eingestellt habe ich 115200 8N1 Flusssteuerung: Keine
Hier nun der Code:
Ich denke er führt den Code aus, da das Display auf einmal stehen bleibt
(nehme an er läuft in den Interrupt) aber ich sehe in Hyperterminal
nichts. Wann muss ich eigentlich Hyperterminal öffnen? Vor dem starten
des uP oder danach? Liegt es an HT (Fehlermeldung) das es nicht funzt?
Wäre über Hilfe froh wie ich was auf den Bildschirm bekomme :o)
Greets reflection
#include <msp430x14x.h>
#include <signal.h>
unsigned char answer1[] = "Buchstabe ";
unsigned char answer2[] = " gedrueckt\r\n";
int i, j;
void uart(void)
{
WDTCTL = WDTPW + WDTHOLD; // Watchdog aus
P3SEL |= 0xC0; // P3.6 und 3.7 als USART1
TXD/RXD
ME2 |= UTXE1 + URXE1; // TX- und RX-Modul einschalten
UCTL1 |= CHAR; // 8 data bits, 1 stop bit, no
parity (8N1)
UTCTL1 |= SSEL0; // UCLK als ACLK festlegen
//UTCTL1 |= SSEL1; // UCLK als SMCLK festlegen
UBR01 = 0x45; // 115200 baud aus 8MHz erzeugen
UBR11 = 0x00; // Siehe Application Note /
Tab.2 S.10
UMCTL1 = 0x2C; // Modulation der Baudrate durch
Korrektorfaktor
UCTL1 &= ~SWRST; // USART freigeben
IE2 |= URXIE1 + UTXIE1; // TX- und RX-interrupts
anschalten
IFG1 &= ~UTXIFG1; // initales interrupt-flag
loeschen
_BIS_SR(LPM3_bits + GIE); // ab in den LPM3 mit interrupts
...
//_BIS_SR(GIE);
}
interrupt (UART1TX_VECTOR) usart1_tx(void)
{
if (i < sizeof answer1-1) // String zu Ende?
TXBUF1 = answer1[i++]; // String ausgeben
else if (i == sizeof answer1-1) // wenn erster string zu ende
...
{
TXBUF1 = RXBUF1; // ... dann den getippten
buchstaben ausgeben
i++;
}
else if (j < sizeof answer2-1) // wenn auch der ausgegeben ist
...
TXBUF1 = answer2[j++]; // ... dann den zweiten string
ausgeben
}
interrupt (UART1RX_VECTOR) usart1_rx(void)
{
{
i = 0;
j = 0;
TXBUF1 = answer1[i++]; // ersten buchstaben von answer1
ausgeben
}
}

