R232 richtig einstellen für einen Pic18

OP #2002848
Lesenswert?
• ▲
▼
Hallo,

ich arbeite gerade mit dem demo board MPLAB-ICD mit einen Pic18f44k22 
Mikrocontroller darauf. Das Problem besteht darin das er gar keine 
Zeichen gesendet werden obwohl ich die in das entsprechende TEXREG 
Register schreibe.Ich muss die serielle Schnittstelle per Hand 
Programieren da er wenn ich die Vorgefertigten Include Dateien verwende 
z.B. usart.h die darin deklarierten Programmfunktionen nicht findet.
Vieleicht kann mir jemand weiter helfen und mir sagen was ich falsch 
mache.

Danke im Vorraus






#include <p18f44k22.h>
#include <stdio.h>

#pragma config FOSC = ECHPIO6, WDTEN = OFF, PBADEN = OFF, LVP = OFF, 
PWRTEN = OFF, XINST = OFF

 void UART_setup(void){

SPBRG = 20;        // Baudrate 57600 Baud  SPBRG- Berechnung  59524 = 
20000000/(16*(20+1)) = Fehlerquote unter 5%
 SPBRGH =  0;

 TXSTAbits.BRGH = 1; // high data rate for sending
 RCSTAbits.SPEN = 1; // enable serial port pins
 TXSTAbits.SYNC = 0;  // Asynchron
 TXSTAbits.TX9  = 0; // 8-bit transmission
 TXSTAbits.TXEN = 1; // enable the transmitter
 RCSTAbits.RX9 = 0;// 8-bit reception
 }

 //-----------------------------------------------------
 // writes a character to the serial port
 void putChar(unsigned char ch){

unsigned char string;

string = ch;

while(!PIR1bits.TXIF){

TXREG=string;
 }
  }

 //-----------------------------------------------------
 void main(void){

unsigned char charRx;



 TRISC = 0b10000000;



UART_setup();
 while(1){


putChar('d');

 }
 }

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren