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.

TM4C1231E6PM: Programmer's reference manual

Part Number: TM4C1231E6PM


First of all there is a forest of information here and I am grateful. However, I am one who sometimes cannot see the trees for the forest. The particular tree (digital tree these days) I am looking for is a plain old TM4C  programmer's reference, one place that will list the SOC particulars like MAP_SysCtlPeripheralEnable(), MAP_GPIOPinConfigure(), etc.

Also wouldn't mind a clock setup example. Seems now there must be an external 20 MHz oscillator for the project. Sparky took the day off but I suspect the clock is for CAN bus.

Thanks again,

John

Note to Charles: Still working though the references you have already provided. Thanx.

  • Hi John,

    I am looking for is a plain old TM4C  programmer's reference, one place that will list the SOC particulars like MAP_SysCtlPeripheralEnable(), MAP_GPIOPinConfigure(), etc.

      I think you are looking for Peripheral Driver Library user's guide. You can find it at https://www.ti.com/lit/pdf/spmu298. The same documentation as well as the rest of documentation for TivaWare can be found in C:\ti\TivaWare_C_Series-2.2.0.295\docs. Let me know if this is what you are looking for. 

    Also wouldn't mind a clock setup example. Seems now there must be an external 20 MHz oscillator for the project. Sparky took the day off but I suspect the clock is for CAN bus.

    In the same user's guide you will find SysCtlClockSet() which will configure the SYSCLK for you. 

    For 80Mhz SYSCLK using 20MHz as a clock source, you will call:

    MAP_SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_20MHZ);

    Suppose you want to use 20MHz OSCIN as the SYSCLK then you will call:

    SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_20MHZ);

    If you want to configure CAN for 500k bit rate then you will set up CAN bit rate with:

    MAP_CANBitRateSet(CAN0_BASE, SysCtlClockGet(), 500000);

    Please also refer to the CAN examples in C:\ti\TivaWare_C_Series-2.2.0.295\examples\peripherals\can directory. 

  • Once again you have put me on the right path, I am just too accustomed to titles perhaps, looking for "programmer's reference" but the Peripheral Driver Library user's guide is organized in an excellent fashion. I have it confirmed that the 20 MHz crystal was stability insurance for CAN, etc. You have provided way more than I expected and I thank you for it.

    My launchpad just arrived so now I can play.

    Happy Friday to you,

    John

  • This is good information but it makes me want to ask another question or 3.

    In the blinky project where is the code that sets up the clock?

    Why does SysCtlClockSet() have the prefix MAP_ sometimes?

    Is there any advantage to using the PLL if a 20MHz external oscillator is used?

    Is there an alternate function to get system clock or another clock out on a GPIO pin?

  • In the blinky project where is the code that sets up the clock?

    If you don't see SysCtlClockSet in the example, it means it is using PIOSC which is the internal oscillator as the clock source. PIOSC is 16MHz. M

    Why does SysCtlClockSet() have the prefix MAP_ sometimes?

    Please see below from peripheral driver user's guide.

    Is there any advantage to using the PLL if a 20MHz external oscillator is used?

    That is a system level question that you need to answer. All I can say is that is that it works within the range needed by the PLL. 

    Is there an alternate function to get system clock or another clock out on a GPIO pin?

    No, this is not available in TM4C123 but in TM4C129.