I'm building a thing that really could use some serial out and input, so I decided to try to finally use the USART's in some pics..
First I tried to get it to work in my nearly-finished testrig for the rest of the stuff, but when this didnt work I built a "serial testring" to be able to sort out the problems.
But no. get nothing in my term program.
This is my testcode..
..I tried different things, but this should work ? or ?Code:' Serial testrig 1.0 Glenn a t repulsiv.se @ device PIC16F877A,HS_OSC,LVP_OFF,WDT_OFF,PROTECT_OFF ' Lets define.. DEFINE OSC 20 ' Lets work at 20MHz ' And the LCD.. DEFINE LCD_DREG PORTD ' Set LCD Data port DEFINE LCD_DBIT 0 ' Set starting Data bit (0 or 4) if 4-bit bus DEFINE LCD_RSREG PORTD ' Set LCD Register Select port DEFINE LCD_RSBIT 4 ' Set LCD Register Select bit DEFINE LCD_EREG PORTD ' Set LCD Enable port DEFINE LCD_EBIT 5 ' Set LCD Enable bit DEFINE LCD_BITS 4 ' Set LCD bus size (4 or 8 bits) DEFINE LCD_LINES 2 ' Set number of lines on LCD DEFINE LCD_COMMANDUS 2000 ' Set command delay time in us DEFINE LCD_DATAUS 50 ' Set data delay time in us ' And the serial port using USART. DEFINE HSER_BAUD 9600 ' HSER baud rate DEFINE HSER_SPBRG 129 ' HSER SPBRG init DEFINE HSER_RCSTA 90h ' HSER receive status init 'DEFINE HSER_TXSTA 24h ' HSER transmit status init high speed DEFINE HSER_TXSTA 20h ' HSER transmitter init pause 1000 ' Gracetime for the LCD Main: LCDOUT $FE, 1, "Hello world" pause 500 LCDOUT $FE, $C0, "Again and again" pause 500 LCDOUT $FE, 1 pause 500 gosub serial pause 500 goto main: serial: HSEROUT ["Glenn",10] Return
I attached a schematics of my simple testrig.






Bookmarks