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');
}
}
>while(!PIR1bits.TXIF) >{ > >TXREG=string; > } Solange senden nicht fertig immer schön weiter Daten in TXREG schreiben. Vollspacke;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.