TM4C123AE6PM: CAN Bus not transmitting nor receiving.

Part Number: TM4C123AE6PM


This is issue E2E1591042, I inadvertently clicked the "This Solved My Issue" button and there's no way to undo that.  Please go to that thread and read where I'm at, it also includes my schematic and software.

The issue is that the local loopback test works fine - data transmitted and received correctly, I can set the CAN engine into test mode and drive Tx high and low, but doesn't work in normal mode.

It's been 27 days since I first posted this and it's getting very frustrating.

Thanks, Doug

  • I'm going to duplicate this from the thread that was inadvertently marked as "resolved", it's not resolved.  It's been a month now and I can't believe that there is no answer for this in all of this time.  Surely I'm not the only one that's experienced this - is there some way to kick this up the ladder to someone that can help me resolve this ???

    The situation is: my code running in local loopback works just fine, I can go into test mode and set the Tx line high and low, but in normal operation, the call to CANMessageSet() correctly sets the message ready to go, but it never gets transmitted.  I stripped down the code to make sure that no other code could be effecting the result.  Code here:

    CAN Test Code.zip

    Running this results in:

    Message not yet set

        CAN0TXRQ1 = 0x0, CANIF1CTL = 0x1

        CAN0ERR   = 0x0, CAN0STS   = 0x0

    CANMessageSet() called

        CAN0TXRQ1 = 0x1, CANIF1CTL = 0x1

        CAN0ERR   = 0x0, CAN0STS   = 0x0

    After a Delay

        CAN0TXRQ1 = 0x1, CANIF1CTL = 0x1

        CAN0ERR   = 0x0, CAN0STS   = 0x0

    Sadly, it doesn't look like it illuminated why the transmission doesn't start.

    Sigh ... Doug

    P.S. I've struggled with issues similar to this in the past, where after months I was never able to get the USB interface to work, and I kept getting conflicting directions on how to get TiRTOS running on my CPU which was different from the CPU on the evaluation board, and I finally had to give up and find a solution that worked.  Both times I asked for references to people of companies that would help me work through these problems - money was no object - I was wasting so my $$$ trying to get these things going - but never got a referral.  I know that TI has given referrals to other folks, so I would Really Like To Get A Referral if TI can't help me past this issue!

    I've been designing TI parts in my designs for over 40 years - but if I keep running into these types of issues with the TI TM4C parts I will be forced to find a new supplier.

  • OK, what we know so far:  1) Tx and Rx interrupts work correctly in loopback mode, although the CANIF1CTL register shows that the transmission is still pending (!!??)  2) in normal mode the Message Object is marked as ready to go but never goes.  3) In test mode I can drive the Tx pin high and low.

    So I've written another test that duplicates the code in the "simple_tx.c" example program and the interrupt never happens.  The code follows:

    simple_tx.c.zip