PIC32 recibe / transmite datos incorrectos en el puerto serie

1

Me he referido a enlace para configurar el UART y enviar / recibir datos entre la PC (Putty) y mi PIC32MZ.

El programa de demostración en el enlace recibe los datos, le agrega uno y lo transmite a la masilla.

    case APP_STATE_RX:                          // USART receive state
    {   
        // if byte received in USART instance pointed to by myUSARTHandle (USART1 in this case)
        if (!DRV_USART_ReceiverBufferIsEmpty(myUSARTHandle))
        {
           appData.rx_byte = DRV_USART_ReadByte(myUSARTHandle); // read received byte
           appData.tx_byte = appData.rx_byte + 1;  // modifying received byte confirms it was received
           appData.state = APP_STATE_TX;           // change state to TX
        }
        break;
    }

    case APP_STATE_TX:                          // USART transmit state
    {
        // make sure the transmit buffer is not full before trying to write byte 
        if(!(DRV_USART_TRANSFER_STATUS_TRANSMIT_FULL & DRV_USART_TransferStatus(myUSARTHandle)) )
        {
            DRV_USART_WriteByte(myUSARTHandle, appData.tx_byte);  // send modified byte
            appData.state = APP_STATE_RX;       // change state to RX and wait for next received byte
        }
    } 

Sin embargo, cada vez que ingreso (transmito) cualquier dato de Putty a PIC, el PIC lo lee como "ý"; 0xff .

El código PIC agrega 1 a 0xff y envía NULL;0x0 de vuelta.

Lapantallademasillasiempreestáenblanco.

¿Cómopuedotransmitir/recibirdatosapropiadosentremiPICylaPC?

¡Graciasporadelantado!

Editar:-RevisédosveceslaconfiguracióndelrelojparaelUART,etc.Sinembargo,cadavezqueenvíoalgodeputy(caracteresonúmeros),todoloquereciboenUART_Rxbufferes"ý"; 0xff .

    
pregunta Sandrocottus

1 respuesta

1

Para todas las preguntas relacionadas con el tiempo, recomiendo comenzar con algo muy simple que confirme todas las configuraciones del reloj del sistema. Hacer parpadear un LED a una velocidad conocida es una forma de hacerlo.

La configuración del reloj puede ser complicada, y el paso 1 es asegurarte de que lo hiciste bien. Incluso si tu configuración de reloj se arruina, los PIC tienden a encontrar un modo para comenzar. Empiezo en casi todos los proyectos asegurándome de que tengo el reloj correcto.

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas