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 .