2

我实际上正在处理一个PIC32MX795F512L和一个小项目,我需要通过将数据(现在只有 0 或 1)发送MPLABX V2.10到将其转换为 USB 的“东西”。XC32RX/TX

问题是我收到奇怪的东西

 #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);

uart_send_data 函数是:

void uart_send_data(BYTE *buffer, UINT8 size)
{
    UINT8 i;
    for( i=0; i<size; i++ )
    {
        uart_put_c(*buffer);
        buffer++;
    }

    while(!UARTTransmissionHasCompleted(UART1));
}

然后 uart_put_c:

void uart_put_c(char c)
{
    while(!UARTTransmitterIsReady(UART1));
    UARTSendDataByte(UART1, c);
}

所以,我在 TX1 上发送 1 或 a。但是,当我查看我在 USB 端口上接收到的内容时(感谢 Docklight),我得到了 ascii:ð |ð,十六进制:0C F0 00 F0 0C 等...那么,有人知道我的问题出在哪里吗?来自(哪里?

提前谢谢。

干杯

4

0 回答 0