I am trying to transmit some data from my Logomatic from one of the UART ports. I’ve been able (with help from the forum) to get both UARTs recording simultaneously but can’t get one to read and one to write simultaneously. I thought I could simply put U0THR into setup_uart0 to transmit data but that only works once (i.e. I say transmit ‘g’ ever pass but I only get one ‘g’). Does anyone know how to get the Logomatic to transmit over the UART ports? Any help is greatly appreciated.
%%%%%%%%%%%%%%%%%%%%%%%%
Okay so I’ve made some progress. As I said before I can receive data from both UART ports simultaneously. I have two GPS units hooked up and each save to there own file on the SD card. I accomplished this by basically making two of a lot of stuff (handle, setup_uart0, UART0ISR, RX_array1, RX_array2).
When I duplicated setup_uart0 and UART0ISR I had to change a few of the Vic addresses then it worked perfectly with both GPS units hooked up. Then I tried simply making one port transmit and the other receive and it stopped working. I can turn one port off and transmit with the other just fine using U0THR or U1THR. But when I try receiving with one port and transmitting on the other it works for about two characters then stops. But interestingly the stop button still works so I’m not freezing up somewhere. I think it may have to do with the interrupts Vic addresses. I’m very new to this so if anyone can help I’d greatly appreciate it. Below are the main functions I modified:
(deleted)
%%%%%%%%%%%%%%%%%%%%%%%%
I figured it out! I was trying to output on UART1 and receive on UART0 as a test and it never worked. The problem was in Initialize(); the line rprintf_devopen(putc_serial0); fixes UART0 to send data, so I simply changed it to rprintf_devopen(putc_serial1); and now I can output on UART1 and receive on UART0. Then it’s a simple matter of using U1THR. A note, I found U1THR doesn’t work in certain parts of the code. I believe it’s because the interrupts aren’t setup. But I use U1THR inside MODE2ISR to send some data I get from the ADC along the UART. So if anyone else had a similar need there you go, I hope it helps.