• 0

Issue with USART


I generated a code for my USART on a chipkit Max32 board using MPLab Harmony based on the tutorial given at this link http://microchip.wikidot.com/harmony:example-usart-static-wf32-steps. The code compiles well and uploads to my board but when I try to interface it with my laptop it keeps reading 0xFF on the RX buffer and even when I tried sending a character (e.i: 0x20) the terminal on my computer won't see it. I tried with different terminal emulators (YAT, Realterm), I also downloaded the FTDI driver from http://www.ftdichip.com/Drivers/VCP.htm but nothing seems to fix or change a thing about my issue. I am using Windows 10, the latest version of MPLab X and the XC32 compiler. I selected the correct board in the Project properties. I have also tried the example code provided with MPLab Harmony but that also doesnt work. One thing I should mention is that the receive buffer knows when I character has been sent to it but it returns the wrong value. 

Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Hello Berthe,

I just followed the USART tutorial you provided using the chipKIT Max32 and the finished project worked correctly for me so lets see if we can solve your issue. 

Do LD1 and LD2 stay on while the program is running? LD1 and LD2 (located near BTN1) are connected to the rx and tx buffers so you should see them blink when the Max32 receives and transmits data over USART. I am confused when you say "I tried sending a character (e.i: 0x20) the terminal on my computer won't see it". Are you typing characters in your terminal application and not seeing any feedback or is the feedback totally incorrect? Do you have a second mini USB (separate from the chipKIT programmer) connected to the UART port? Beacuse without this your board will not communicate with your computer. You will have a total of two USB-B cables connected to the Max32. Another thing you could try is setting a breakpoint in the APP_Tasks function inside app.c inside of the if statement under the APP_STATE_RX case statement. If you never enter the if statement, it is possible that you are using the wrong COM port. 




Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now