I'm actually working with a PIC32MX795F512L
and MPLABX V2.10
and XC32
on a little project et I need to send data (for now, just 0 or 1) via RX/TX
to "something" that convert it to USB.
The problem is that i'm receiving strange things
#define UART_BAUD_RATE 9600
char* cmd;
int main(void) {
UARTConfigure(UART1, UART_ENABLE_PINS_TX_RX_ONLY);
UARTSetFifoMode(UART1, UART_INTERRUPT_ON_TX_NOT_FULL | UART_INTERRUPT_ON_RX_NOT_EMPTY);
UARTSetLineControl(UART1, UART_DATA_SIZE_8_BITS | UART_PARITY_NONE | UART_STOP_BITS_1);
UARTSetDataRate(UART1, GetPeripheralClock(), UART_BAUD_RATE);
UARTEnable(UART1, UART_ENABLE_FLAGS(UART_PERIPHERAL | UART_RX | UART_TX));
while (1)
{
cmd="1";
uart_send_data((BYTE*)cmd,1);
The uart_send_data function is:
void uart_send_data(BYTE *buffer, UINT8 size)
{
UINT8 i;
for( i=0; i<size; i++ )
{
uart_put_c(*buffer);
buffer++;
}
while(!UARTTransmissionHasCompleted(UART1));
}
And then uart_put_c:
void uart_put_c(char c)
{
while(!UARTTransmitterIsReady(UART1));
UARTSendDataByte(UART1, c);
}
So, I'm sending a 1 or a on TX1. But, when I look at what I'm receiving on my USB port (thanks to Docklight) i get in ascii: ð |ð, in hex: 0C F0 00 F0 0C ect ... So, does someone knows where my problem is coming from?
Thansk in advance.
Cheers