Ok we made some progress. I added a 500us pause between bytes and its getting the values now.
But now only the first chip is getting the serial. The 3 slave chips are on seperate lines. The first chip is getting values but the second 2 aren't getting any. My transmit code is below
Code:
sub procedure Send()
porta.0 = 1
portc.2 = 1
error1 = Soft_UART_Init(PORTC,1, 5, 9600, 0)
delay_ms(3)
soft_uart_write("@")
for i = 0 to 5
soft_uart_write(Coxa[i])
delay_us(500)
next i
portc.2 = 0
portc.1 = 1
error1 = Soft_UART_Init(PORTC,2, 4, 9600, 0)
delay_ms(3)
soft_uart_write("@")
for i = 0 to 5
soft_uart_write(Thigh[i])
delay_us(500)
next i
portc.1 = 0
portc.0 = 1
error1 = Soft_UART_Init(PORTC,0, 3, 9600, 0)
delay_ms(3)
soft_uart_write("@")
for i = 0 to 5
soft_uart_write(Tibia[i])
delay_us(500)
next i
portc.0 = 0
porta.0 = 0
return
end sub
my receiver waits for the @ symbol so that is why its sent first.
Bookmarks