Forum: Mikrocontroller und Digitale Elektronik Wort an Terminal senden


von Christian B. (christb)


Lesenswert?

Hallo,

ich möchte über meinen MSP430 ein Wort an ein Terminal senden.
Zur Programmierung verwende ich das Code Composer Studio.
Welchen Code müsste ich dafür schreiben um das Wort "Hallo" im Terminal 
anzeigen zu lassen?
Kann mir da evtl jemand helfen?

Chris
von Jan K. (jan_k)


Lesenswert?

Hi!

welches Terminal bzw wie? Über die serielle Schnittstelle?
Programmierst du in c oder Assembler?
Läuft das Teil sonst (Takt)?
von Sven Wagner (Gast)


Lesenswert?

Christian B. schrieb:
> Welchen Code müsste ich dafür schreiben um das Wort "Hallo" im Terminal
> anzeigen zu lassen?
Im CodeComposerStudio kannst Du Dir ein "Hello World"-Beispiel 
generieren lassen, was genau das macht.

Grüße
Sven

P.S.: Allerdings brauchst Du mehr als 2kB Flash, weil printf sonst nicht 
reinpasst.
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Natürlich braucht man kein printf, um "Hallo" auszugeben, und 
Beispiele, wie die UART des jeweiligen MSP430-Derivats anzusteuern sind, 
gibt es bei TI.
von Christian B. (christb)


Lesenswert?

Hallo,

ich programmiere in C und verwende das Terminal v1.9b! Ich verwende die 
RS232 Schnittstelle.

@Sven Wagner: Wie kann ich denn im Studio dieses Beispiel generieren 
lassen? Gibts denn ne Vorlage für dieses Beispiel?

Hier mal mein bisheriger Code:
1
void main(void)
2
{
3
    
4
  WDTCTL = WDTPW + WDTHOLD;             
5
  P4SEL = BIT4+BIT5;                       // P4.4 und P4.5 als USART0 TXD/RXD   
6
7
  
8
  UCA1CTL1 |= UCSWRST;                     // SWRST setzen um Schnittstelle zu konfigurieren
9
  UCA1CTL1 |= UCSSEL_1;                    // ACLK als UCLK festlegen
10
  
11
  UCA1BR0 = 0x03;                          // 9600 baud aus 32.768 kHz erzeugen
12
  UCA1BR1 = 0x00;                          // siehe application note tabelle 2, seite 10
13
  UCA1MCTL = UCBRS_3+UCBRF_0;              // Modulation UCBRSx=3, UCBRFx=0
14
  UCA1CTL1 &= ~UCSWRST;                    // **Initialize USCI state machine**
15
  UCA1IE |= UCRXIE + UCTXIE;               // TX- und RX-interrupts anschalten
16
  UCA1IFG &= ~UCTXIFG+UCRXIFG;             // initales interrupt-flag löschen
17
     
18
  _bis_SR_register(LPM0_bits + GIE);       // ab in den LPM0 mit interrupts ...
19
}
20
21
char empfString[6]= "Hallo";
22
23
#pragma vector=USCI_A1_VECTOR
24
__interrupt void USCI_A1_ISR (void)
25
{
26
  while (!(UCA1IFG&UCRXIFG));             // USCI_A0 TX buffer ready?
27
    UCA1RXBUF = empfString[5];
28
    UCA1TXBUF = UCA1RXBUF; 
29
}
von Achim M. (minifloat)


Lesenswert?

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.