mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART mit SiLabs F330


Autor: Mr Bean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich probiere gerade wieder etwas mit dem F330 von SiLabs rum. Ich habe 
den ToolStick.
Ich möchte eigentlich nur einen String  (HelloWorld!) :-) über das UART 
an meinen PC senden. Habt ihr mir einen Tipp was noch nicht stimmt?
Hier mal mein Code den ich bis jetzt hab:
//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include <c8051f330.h> // SFR declarations
#include <stdio.h>


//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------
#define SYSCLK 24500000           // SYSCLK frequency in Hz
#define BAUDRATE 9600             // Baud rate of UART in bps

//-----------------------------------------------------------------------------
// Function PROTOTYPES
//-----------------------------------------------------------------------------
void SYSCLK_Init (void);
void PORT_Init (void);
void UART0_Init (void);

//-----------------------------------------------------------------------------
// Global VARIABLES
//-----------------------------------------------------------------------------



//-----------------------------------------------------------------------------
// MAIN Routine
//-----------------------------------------------------------------------------

void main (void)
{
  char input_char;

  //WDTCN = 0xde;           // disable watchdog timer
  //WDTCN = 0xad;
  
  SYSCLK_Init ();           // initialize oscillator
  PORT_Init ();             // initialize crossbar and GPIO
  UART0_Init ();             // initialize UART0
  
  //transmit example

  printf ("Hello World!\n");

  
  while (1) 
  {
    input_char = getchar();
    printf("`%c`, 0x%02x\n",(unsigned char)input_char, (unsigned) input_char);
    
  }
}


//-----------------------------------------------------------------------------
// SYSCLK_Init
//-----------------------------------------------------------------------------
//
// This routine initializes the system clock to use an 24.5MHz crystal
// as its clock source.
//

void SYSCLK_Init (void)
{

  OSCICN    = 0x83;          // start internal oscillator with
                    // 24.5MHz crystal
  
}


//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------
//
// Configure the Crossbar and GPIO ports
//

void PORT_Init (void)
{
  P0MDOUT = 0x10;         // enable TX0 as a push-pull output
  
  XBR0 = 0x01;           // Enable UART0
  XBR1 = 0xC0;
  
}


//-----------------------------------------------------------------------------
// UART0_Init
//-----------------------------------------------------------------------------
//
// Configure the UART0 using Timer1, for <baudrate> and 8-N-1.
//

void UART0_Init (void)
{
  SCON0 = 0x50;           // SCON0: mode 1, 8-bit UART, enable RX
  TCON = 0x40;
  TMOD = 0x20;           // TMOD: timer 1, mode 2, 8-bit reload
  TH1 = 0x96;            // set Timer1 reload value for baudrate
  //PCON |= 0x80;           // SMOD00 = 1
  TI0 = 1;             // Indicate TX0 ready
}

Ich hab mich eigentlich komplett an den Code aus den App. Notes 
gehalten. Die Konfiguration der POrts hab ich mit dem Config Tool von 
SiLabs gemacht.
Vielen Dank im Voraus!

MFG

Bean

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.