2016-09-24 10 views
0

Я использую PIC32MX щелчки (PIC32MX534F064H микроконтроллер) для передачи данных через UART и получать то же самое на ПК с помощью USB для последовательного преобразователя на скорости передачи данных 115200.PIC32MX Clicker УАППЫ вопрос

Когда я пытаюсь отправить данные через PIC32 и читал на моем ПК, я получил данные, но которые отличаются друг от друга. Ниже приведены фрагменты кода. Было бы здорово, если бы кто-нибудь мог предложить мне, что изменить, чтобы заставить работать uart. Благодаря

#define GetSystemClock()  (80000000ul) 
#define GetPeripheralClock() (GetSystemClock()/(1 << OSCCONbits.PBDIV)) 
#define GetInstructionClock() (GetSystemClock()) 

void initSerial(){ 
UARTConfigure(UART5,UART_ENABLE_PINS_TX_RX_ONLY); 
UARTSetFifoMode(UART5, UART_INTERRUPT_ON_TX_NOT_FULL 
     | UART_INTERRUPT_ON_RX_NOT_EMPTY); 
UARTSetLineControl(UART5, UART_DATA_SIZE_8_BITS | UART_PARITY_NONE | UART_STOP_BITS_1); 
UARTSetDataRate(UART5, GetPeripheralClock(), 115200); 
UARTEnable(UART5, UART_ENABLE_FLAGS(UART_PERIPHERAL | UART_RX | UART_TX)); 
} 


void writeSerial(uint8_t c){ 
while(!UARTTransmitterIsReady(UART5)); 
UARTSendDataByte(UART5, c); 
while(!UARTTransmissionHasCompleted(UART5)); 
} 

ответ

0

Ниже, как я могу настроить 9600. UART5 на PIC32MX795F512L для использования, чтобы общаться с чипом GPS. Это должно быть то же самое, что и заменить на 115200, и оно должно работать. Если он не попробует 9600, у вас есть поддельный FTDI USB < -> Последовательный конвертер, поддельные могут быть очень непостоянными.

UARTConfigure(UART5, UART_ENABLE_PINS_TX_RX_ONLY); 
    UARTSetFifoMode(UART5, UART_INTERRUPT_ON_RX_NOT_EMPTY); 
    UARTSetLineControl(UART5, UART_DATA_SIZE_8_BITS | UART_PARITY_NONE | UART_STOP_BITS_1); 
    /* configPERIPHERAL_CLOCK_HZ = 40000000 */ 
    UARTSetDataRate(UART5, configPERIPHERAL_CLOCK_HZ, 9600); 
    UARTEnable(UART5, UART_ENABLE_FLAGS(UART_PERIPHERAL | UART_RX | UART_TX)); 
    INTSetVectorPriority(INT_VECTOR_UART(UART5), configKERNEL_INTERRUPT_PRIORITY + 1); 
    INTSetVectorSubPriority(INT_VECTOR_UART(UART5), INT_SUB_PRIORITY_LEVEL_2); 
    INTEnable(INT_SOURCE_UART_RX(UART5), INT_ENABLED); 
+0

Пожалуйста, поддержите, если у вас есть успех в этом методе. благодаря – blsmit5728

 Смежные вопросы

  • Нет связанных вопросов^_^