ARM-TM4C-CCS

This repository contains all my practice codes of TM4C123GXL coded in CCS7.
The Texas Instruments Tiva C LaunchPad board TM4C123G is used for the code.
The TM4C123GXL Launchpad has the TM4C123GH6PM microcontroller which is based on the ARM Cortex-M4F microcontroller architecture and clocked at 80 MHz (with 100 DMIPS)

Tiva-C Launchpad

Project Contents

TM4C123G LaunchPad Template

TM4C123G LaunchPad Template - This represents the project template used for the subprojects in this repository.


Blink with delay - The program controls the RGB LEDs on the Tiva C board TM4C123G LaunchPad (with TM4C123GH6PM microcontroller) and blinks the Blue, Green and Red Led with a specified delay. The Delay is generated by wasting machine cycles in a loop.


Blink without delay - The program controls the Green LED on the Tiva C board TM4C123G LaunchPad (with TM4C123GH6PM microcontroller) and blinks it with a specified time period. Timer0 is used to create periodic interrupts to control blinking.


TM4C123G LaunchPad LED Button Control

LED Button Control - The program controls the RGB LEDs on the Tiva C board TM4C123G LaunchPad (with TM4C123GH6PM microcontroller) using the onboard switches SW1(PF4) and SW2(PF0). Different combinations of button presses cause different LEDs to glow.


TM4C123G LaunchPad PWM Servo

PWM Servo - The program controls the position of an external servo motor by varying the Duty Cycle of the PWM. The Duty Cycle can be increased by clicking the onboard switch SW2(PF0) or decreased by clicking SW1(PF4). The PWM module.

Servo Motor

TM4C123G LaunchPad PWM using GP Timer

PWM using General Purpose Timer - The program controls the intensity of Green LED on the Tiva C board TM4C123G LaunchPad (with TM4C123GH6PM microcontroller) by varying the Duty Cycle of the PWM. The Duty Cycle can be increased by clicking the onboard switch SW2(PF0) or decreased by clicking SW1(PF4). Timer0 is used to create PWM at fixed frequency but variable Duty Cycle.


TM4C123G LaunchPad ADC Potentiometer

ADC Potentiometer - The program reads the ADC value from an externally connected potentiometer.

Potentiometer

TM4C123G LaunchPad ADC Temp Sensor

ADC reading from Temperature Sensor - The program reads the ADC value from the Temperature sensor in the TM4C123GH6PM chip. This is then converted to Celsius and Fahrenheit scale.


TM4C123G LaunchPad UART

UART - The program reads the input from a user on the serial monitor (terminal) and echoes it back to the user. Serial Activity is displayed by the Blue Led which glows for 1ms on every UartRx.


TM4C123G LaunchPad UART Stdio

UART Stdio - The program reads the input from a user on the serial monitor (terminal) and echoes it back to the user. Serial Activity is displayed by the Blue Led which glows for 1ms on every UartRx. The code demonstrates the use of UARTprintf() API of uartstdio.h library for printing strings.


TM4C123G LaunchPad Quadrature Encoder

Quadrature Encoder - The program interfaces the quadrature encoder peripheral to get the position and velocity information of a encoded DC motor. The QEI1 peripheral is used with PortC using PC4, PC5 and PC6 as Index1, PhA and PhB.

Quadrature Encoder

TM4C123G LaunchPad PI Motor Control

PI Motor Control - The program interfaces the QEI and PWM peripherals to implement a PI Position control of an Encoded DC Motor. The Motor used is Faulhaber 12V(17W) Coreless motor, 64:1 Planetary gearbox, 120RPM, 12 PPR Encoder. This gives 3072 CPR of quadrature.

Faulhaber Motor

TM4C123G LaunchPad PID with UART

PID with UART - The program interfaces the QEI, PWM and UART peripherals to implement a PID Position control of an Encoded DC Motor. The Motor used is Faulhaber 12V(17W) Coreless motor, 64:1 Planetary gearbox, 120RPM, 12 PPR Encoder. This gives 3072 CPR of quadrature.

Faulhaber Motor

TM4C123G LaunchPad FPU Co-Processor

FPU Co-Processor - The program enables the Floating Point Unit Co-Processor which is used to calculate a sine wave with a specified number of sampling points.


TM4C123G LaunchPad PID with UART and FPU

PID with UART and FPU - The program interfaces the QEI, PWM and UART peripherals to implement a PID Position control of an Encoded DC Motor. The Motor used is Faulhaber 12V(17W) Coreless motor, 64:1 Planetary gearbox, 120RPM, 12 PPR Encoder. This gives 3072 CPR of quadrature. Also the FPU is used for the floating point calculations during PID.

Faulhaber Motor

TM4C123G LaunchPad Ultrasonic HC-SR04

Ultrasonin HC-SR04 - This is a sample code for HC-SR04. The code calculates the distance of an obstacle from the HC-SR04 sensor and publishes the data over the UART channel.

HC-SR04 Ultrasonic Sensor

TM4C123G LaunchPad Workshop

TM4C123G LaunchPad Workshop - This contains all the codes of Tiva-C workshop.


Other similar repositories

  • ARM-TM4C-IAR
    This repository contains all my practice codes of TM4C123GXL coded in IAR Workbench. The Texas Instruments Tiva C LaunchPad board TM4C123G is used for the code. The TM4C123GXL Launchpad has the TM4C123GH6PM microcontroller which is based on the ARM Cortex-M4F microcontroller architecture and clocked at 80 MHz (with 100 DMIPS).

  • ARM-TMS570LC43x-CCS-HALCoGen
    This repository contains all my practice codes/projects of Hercules TMS570LC43x Development Kit. The projects are made using embedded C on CCS 6 and HALCoGen. The TMS570LC4357 on the board is an Automotive grade MCU based on the ARM Cortex-R5F architecture clocked at 300 MHz.