I'm trying to get one PIC to talk to the other. I'm not using MIDI messages at this point, but I am using MIDI hardware to connect the two PICs. The schematics are found here https://www.tigoe.com/pcomp/code/picbasic-pro/161/
I'm using two 16F887. One is the transmitting PIC. MIDI out hardware is connected to pin 25/portc.6/TX. I'm trying to send the numbers 1 ~ 9 every 600ms. An LED blinks each time it's supposed to send just to let me know that it's doing something.
The other PIC is supposed to receive the number and display it on an LCD. The MIDI in hardware is connected to pin 26/portC.7/RC. I made the LCD display "ready to receive" at start up so I know that it's working.
The blinking LED on the transmitting PIC is working, and the LCD on the receiving PIC is working, but I'm not seeing any numbers being displayed.
Here's the code for the transmitting PIC:
Here's the code for the receiving PIC:Code:define OSC 20 define HSER_RCSTA 90h define HSER_TXSTA 20h define HSER_BAUD 31250 ANSEL = %00000000 ANSELH = %00000000 TRISD = %00000000 TRISE = %00000000 TRISA = %00000000 TRISB = %00000000 TRISC = %01000000 send var byte main: send = send + 1 hserout [send] PORTA.0 = 1 pause 300 PORTA.0 = 0 pause 300 if send >= 10 then send = 0 endif goto main
Code:CLEARdefine LOADER_USED 1 define OSC 20 define HSER_RCSTA 90h define HSER_TXSTA 20h define HSER_BAUD 31250 define LCD_DREG PORTD define LCD_DBIT 0 define LCD_RSREG PORTE define LCD_RSBIT 0 define LCD_EREG PORTE define LCD_EBIT 1 define LCD_RWREG PORTE define LCD_RWBIT 2 define LCD_BITS 4 define LCD_LINES 4 define LCD_COMMANDUS 2000 define LCD_DATAUS 50 ANSEL = %00000000 ANSELH =%00000000 TRISD = %00000000 TRISE = %00000000 TRISA = %00000000 TRISB = %00000000 TRISC = %01000000 data_in var byte pause 250 lcdout $fe, 1 lcdout $fe, $d4, "ready to receive" pause 500 lcdout $fe, 1 pause 250 main: hserin [dec data_in] pause 5 if data_in != 0 then gosub display endif goto main display: lcdout $fe, 1 lcdout $fe, $94, dec data_in data_in = 0 return




Bookmarks