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.