Gast
#1153138
Hallo,
also erstmal zu mir ich bin in C ein kompletter Anfänger da ich von der
Schule aus nur mit C# gearbeitet habe. Jetzt wollte ich mich einmal
näher mit C eclipse beschäftigen. Ich habe hier einen vorgegebenen
Quellcode aber wenn ich diesen Übernehme funktioniert dieser nicht
Richtig. Wie sieht den genau die Datei test1.c aus und das dazugehörige
makefile?
Ich hoffe ihr könnt mir helfen, denn sonst bin ich echt am verzweifeln
hier :D
#include <msp430x14x.h>
#include "test1.h"
char eingabe;
int eingabeflag;
void main(void)
{
unsigned int i;
eingabeflag = 0;
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BCSCTL1 |= XTS; // ACLK = LFXT1 = HF XTAL
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG) != 0); // OSCFault flag still set?
BCSCTL2 |= SELM1+SELM0; // MCLK = LFXT1 (safe)
UCTL0 = CHAR; // 8-bit character
UTCTL0 = SSEL0; // UCLK = ACLK
UBR00 = 0x45; // 8MHz 115200
UBR10 = 0x00; // 8MHz 115200
UMCTL0 = 0x00; // 8MHz 115200 modulation
ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD
IE1 |= URXIE0; // Enable USART0 RX interrupt
P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD
P3DIR |= 0x10; // P3.4 output direction
_EINT(); // Enable interrupts
ausgabe ("\n\r Waehle Zahl zwischen 0 und 2!\n\r");
for (;;)
{
if (eingabeflag == 1) //check input flag
{
switch (eingabe)
{
case '0':
ausgabe ("Sie haben die 0 gewaehlt!\n\r");
eingabeflag = 0;
break;
case '1':
ausgabe ("Sie haben die 1 gewaehlt!\n\r");
eingabeflag = 0;
break;
case '2':
ausgabe ("Sie haben die 2 gewaehlt!\n\r");
eingabeflag = 0;
break;
default:
ausgabe("Die Eingabe war nicht korrekt!\n\r");
eingabeflag = 0;
}
}
}
}
void ausgabe (char *inText) //function to print text in hyper terminal
{
char *cpText; //intern pointer
for (cpText = inText; *cpText; cpText++) //print char untill pointer
= null
{
while ((IFG1 & UTXIFG0) == 0); // USART0 TX buffer ready?
TXBUF0 = *cpText;
}
}
interrupt[UART0RX_VECTOR] void usart0_rx (void)
{
eingabe = RXBUF0; // read input character
eingabeflag = 1; // set input flag
}