我实际上正在处理一个PIC32MX795F512L
和一个小项目,我需要通过将数据(现在只有 0 或 1)发送MPLABX V2.10
到将其转换为 USB 的“东西”。XC32
RX/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 等...那么,有人知道我的问题出在哪里吗?来自(哪里?
提前谢谢。
干杯