Ich habe http://microchipdeveloper.com/harmony:example-usart-dynamic-wf32 verwiesen , um den UART zu konfigurieren und Daten zwischen PC (Putty) und meinem PIC32MZ zu senden/empfangen.
Das Demoprogramm im Link nimmt die Daten entgegen, fügt sie hinzu und sendet sie zurück an Putty.
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
}
}
Immer wenn ich jedoch Daten von Putty an PIC eingebe (übertrage), liest der PIC sie als "ý";0xff .
Der PIC-Code fügt 1 zu 0xff hinzu und sendet NULL;0x0 zurück.
Der Putty-Bildschirm ist immer leer.
Wie kann ich korrekte Daten zwischen meinem PIC und PC übertragen/empfangen?
Vielen Dank im Voraus!
Bearbeiten: - Ich habe die Uhreinstellungen für den UART usw. noch einmal überprüft, aber jedes Mal, wenn ich etwas von puty sende (Zeichen oder Zahlen), ist alles, was ich im UART_Rx-Puffer erhalte, "ý"; 0xff .
Bei allen Fragen zum Timing empfehle ich, mit etwas ganz Einfachem zu beginnen, das alle Systemuhrkonfigurationen bestätigt. Das Blinken einer LED mit einer bekannten Rate ist eine Möglichkeit, dies zu tun.
Das Einrichten der Uhr kann schwierig sein, und Schritt 1 besteht darin, sicherzustellen, dass Sie es richtig gemacht haben. Selbst wenn Sie Ihre Uhrkonfiguration ganz durcheinander bringen, neigen PICs dazu, einen Modus zu finden, in dem sie starten können. Ich beginne so ziemlich jedes Projekt, um sicherzustellen, dass ich die richtige Uhr habe.
isdi
Sandrocottus
isdi
pjc50
Sandrocottus
Sandrocottus
Sandrocottus
Scott Seidmann
Sandrocottus
Sandrocottus