This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/EK-TM4C1294XL: TM4C1294 UART issue

Part Number: EK-TM4C1294XL

Tool/software: Code Composer Studio

Hi all,

I'm trying to send plain chars over UART0 from my board to the PC. I have connected the board to the PC via ICDI usb. But, putty shows no characters coming through (I have put sending chars in while(1) loop).

I have checked the code and it is OK. Can someone share some thoughts? 

This is becoming very frustrating...

Regards,

Pete

P.S. I have tried with examples of hello and uart_echo. Neither of them works...

  • Hello Peter,

    Do you have the Baud Rates aligned between Putty and the UART example? That's a common issue that even gives me fits at times when I am forgetful. Also may not hurt to try out another program just incase too.

    Which port are you connecting to?

    Also, can you check with a scope or logic state analyzer that UART outputs are being sent from the UART pins as expected? Especially with uart_echo where you can control it better... (though could also move the Hello, World print from the hello example into the loop so it is spammed)

    Hardware wise, can you verify the jumpers for JP4 and JP5 are set for UART?
  • Hi Ralph,

    thanks for responding so quickly.

    1. I have aligned baud rates at the board and PC. Both are set at 9600, 8-N-1
    2. I have tried with other programs on the PC (serial analyzers) and verified that nothing comes to the PC
    3. I have connected the usb port on my PC with ICDI usb on the board. My PC detects Stellaris virtual COM port (at COM3)
    4. I don't have a scope, but I have used debugging to check UART_DR register ON UART0 and I have noticed that data section doesen't change at all. It stays 0. This is suspicious...
    5. Jumpers at JP4 and JP5 are both set at = which is for UART.

    Any ideas?

    Regards
  • You may note that, "UART_DR" Register is marked as, "Read Sensitive" - which (may likely) explain why you report your "Data Read" as suspicious. Unfortunately - while the MCU Manual "promises" some (description - of that "sensitivity") neither crack Staff nor I could find "ANY such description!" Now that proves - perhaps - even MORE suspicious...

    You have been advised that "even slower" baud rates - and use of a current limited Led - can gauge UART (or GPIO) Port Activity...
  • I have been at 9600 bps at my every attempt. I have no problem of going even slower....
    I have accepted advise on linking LED with my sending method. LED works fine... only now chars are being sent

    Is there any other register linked (non-scope based) method to check what is going on

    To summarize:

    -  I have used code almost identical to the Lab 10 example (the difference is that I'm sending character in the while loop)

    - I have compiled and downloaded the binary to the board

    - I have started the code from CCS and it is running without error.

    - I have used both putty and Hercules on my PC and not a single character is received.

  • peter_mm_2018 said:
    Is there any other register linked (non-scope based) method to check what is going on

    I'm not so sure - that what's proposed (Register Linked) - leads to the "best & fastest" solution.

    Minus "normal/customary" Test Gear - AND - if your "Serial Monitor" remains confined to (only) a, "USB ONLY" PC - does not a (standard) USB <-> CMOS UART Conveter - clearly  rise to OPTIMAL?

    Now Vendor Agents have much more experience w/the ability to manage (both) ICDI Debug/Programming ... AND  (maybe)  the independent usage of a UART - via that same ICDI - on board.    Firm/I do NOT - as we ALWAYS EMPLOY the proven SUPERIOR J-Link - which direct connects to the MCU's JTAG/SWD Pins - "COMPLETELY ELIMINATING" THE "uncertainty" - which I believe - is introduced by the (potential)  "Two wingless birds - one stone" - (method)... (ICDI to (maybe) achieve TWO Tasks) - as described, above.

    Should you follow my advice - "ESCAPE from the ICDI's  (uncertain) Dual Tasking" - you,  "Speed, Ease & Enhance" your connection & examination of ANY UART - free from the (possible) "Interference" which (may) be introduced - by the vendor's "dual tasking" (maybe)  ICDI."    Again - neither Firm nor I are willing to,  "Take such Risk"  (for what - when the J-Link is proven superior - and avoids such UNCERTAINTY!)

    Your acquisition of such "USB <-> CMOS UART Converter - appears by far - your most CERTAIN SOLUTION.     (which may be re-used - for (multiple) other tasks...)

  • To be honest, I want to check what's going on here...
    In the referent publication there is not a single word on any other way of connecting for the serial data transfer and this is like the simplest ever test case of UART (which BTW I need for my project).
    I must be doing something wrong, just don't know what...

    Before going on and using something like J-Link or even better choosing other vendor's board, I'll just wait for someone from TI tech support to give some piece of advice.
  • To be (both) Fair & Complete - you SHOULD (seriously) engage the Forum's "Search Box" (up top) & enter UART & ICDI - and see if (some) overlap exists...

    You seem "Open - even welcoming of such uncertainty" - as small Biz guy - such is DEATH! And - such (UNWISE) commitment to ANY Single Vendor's method - would get me "ejected" - instantly - from my "knock-off"   "Golden EIB Exec. Chair..."

    WHY would you devote such time/effort - to check ANY Single Vendor's "Unique Implementation" - especially as you are Completely Becalmed - and Storm Clouds ARE NEARING!    (Makes NO SENSE!)

  • Hello peter,

    For the TivaWare examples the Baud Rate should be 115200, so I would recommend trying uart_echo with that rate set for your terminal and trying to confirm you got UART working just from our TivaWare example first. Once that's accomplished, then we can see if there are issues with you own implementation.
  • Hi Ralph,

    I have tried both hello and uart_echo examples at 115200 and both failed.
    What's Your next step?
  • Hello Peter,

    Are they unmodified from TivaWare download? Can you post a picture of your board? Are other programs functional like Blinky?

    If all of those check out fine then the next step is to get a scope or LSA onto the UART pins and see if the issue is on your PC since our example code shouldn't have any issues so I would need to see that the UART pins aren't outputting correctly to believe the issue doesn't lie with your PC/terminal software.
  • The dev kit is only $20. I recommend buying two to quickly rule out hardware failure.

    What exactly do you mean by failed? The example Ralph recommended (uart_echo) sends characters back to your terminal. If you can see what you are typing, that's a success.

    You can leave the CAN jumpers set.

  • To posters requesting,  "What exactly IS  client-user's  issue?"    

    Top line - poster's "Opening Post" - to my mind - offers up (SOUND) explanation:

    peter_mm_2018 said:
    I'm trying to send plain chars over UART0 from my board to the PC. I have connected the board to the PC via ICDI usb. But, putty shows no characters coming through (I have put sending chars in while(1) loop).

    May it be noted that (this) poster is,  "Far from alone" - in experiencing such "UART Issues."     Is NOT the (potential) "Double Duty" (Program/Debug  AND  bi-di UART) - forced upon vendor's "ICDI" - insufficiently documented/explained - repeatedly leading to such "User - UART" over-challenge?    

    And ... as the UART is available in "such number" - and among the most simple of  the Serial Interfaces - and extracts a "GPIO Cost" (of just 2 pins) should not GREATER EFFORT be deployed - to,  "Speed, Ease & Enhance" UART  (even multiple UARTS) USAGE?

  • Hello Peter,

    Is still an open issue for you?

    Another thing to check is that your COM port settings in Device Manager are also set for the correct Baud rate. I've seen with MSP430 ICDI if you have a mismatch between Windows Device Manager Port settings for Baud Rate and your UART Terminal like Putty/Docklight etc. - that the data will not display properly.