{"id":17686728,"url":"https://github.com/yashbansod/arm-tm4c-ccs","last_synced_at":"2025-05-07T15:01:16.917Z","repository":{"id":40633428,"uuid":"103833721","full_name":"YashBansod/ARM-TM4C-CCS","owner":"YashBansod","description":"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)","archived":false,"fork":false,"pushed_at":"2020-06-17T04:46:27.000Z","size":17378,"stargazers_count":74,"open_issues_count":1,"forks_count":28,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-31T11:11:38.053Z","etag":null,"topics":["arm","c","ccs7","cortex-m4f","embedded-c","texas-instruments","tiva","tiva-c-series","tm4c","tm4c123","tm4c123gh6pm","tm4c123gxl"],"latest_commit_sha":null,"homepage":"https://yashbansod.github.io/projects/ARM-TM4C-CCS/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YashBansod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-17T14:08:45.000Z","updated_at":"2025-02-19T12:33:03.000Z","dependencies_parsed_at":"2022-07-14T04:20:32.011Z","dependency_job_id":null,"html_url":"https://github.com/YashBansod/ARM-TM4C-CCS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YashBansod%2FARM-TM4C-CCS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YashBansod%2FARM-TM4C-CCS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YashBansod%2FARM-TM4C-CCS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YashBansod%2FARM-TM4C-CCS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YashBansod","download_url":"https://codeload.github.com/YashBansod/ARM-TM4C-CCS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252902604,"owners_count":21822259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arm","c","ccs7","cortex-m4f","embedded-c","texas-instruments","tiva","tiva-c-series","tm4c","tm4c123","tm4c123gh6pm","tm4c123gxl"],"created_at":"2024-10-24T10:45:47.431Z","updated_at":"2025-05-07T15:01:15.403Z","avatar_url":"https://github.com/YashBansod.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ARM-TM4C-CCS\nThis repository contains all my practice codes of TM4C123GXL coded in CCS7.  \nThe Texas Instruments Tiva C LaunchPad board TM4C123G is used for the code.  \nThe TM4C123GXL Launchpad has the TM4C123GH6PM microcontroller which is based on the ARM Cortex-M4F \nmicrocontroller architecture and clocked at 80 MHz (with 100 DMIPS)\n\n![Tiva-C Launchpad](./images/EK-TM4C123GXL.jpg)  \n\n## Project Contents  \n\n### [TM4C123G LaunchPad Template](./TM4C123G\u0026#32;LaunchPad\u0026#32;Template/)  \n**TM4C123G LaunchPad Template** - This represents the project template used for the subprojects in this repository.  \n\n\n### [TM4C123G LaunchPad Blink with Delay](./TM4C123G\u0026#32;LaunchPad\u0026#32;Blink\u0026#32;with\u0026#32;Delay/)  \n**Blink with delay** - The program controls the RGB LEDs on the Tiva C board TM4C123G LaunchPad \n(with TM4C123GH6PM microcontroller) and blinks the Blue, Green and Red Led with a specified delay. \nThe Delay is generated by wasting machine cycles in a loop.  \n\n\n### [TM4C123G LaunchPad Blink without Delay](./TM4C123G\u0026#32;LaunchPad\u0026#32;Blink\u0026#32;without\u0026#32;Delay/)  \n**Blink without delay** - The program controls the Green LED on the Tiva C board TM4C123G LaunchPad \n(with TM4C123GH6PM microcontroller) and blinks it with a specified time period. \nTimer0 is used to create periodic interrupts to control blinking.  \n\n\n### [TM4C123G LaunchPad LED Button Control](./TM4C123G\u0026#32;LaunchPad\u0026#32;LED\u0026#32;Button\u0026#32;Control/)  \n**LED Button Control** - The program controls the RGB LEDs on the Tiva C board TM4C123G LaunchPad \n(with TM4C123GH6PM microcontroller) using the onboard switches SW1(PF4) and SW2(PF0). \nDifferent combinations of button presses cause different LEDs to glow.  \n\n\n### [TM4C123G LaunchPad PWM Servo](./TM4C123G\u0026#32;LaunchPad\u0026#32;PWM\u0026#32;Servo/)  \n**PWM Servo** - The program controls the position of an external servo motor by varying the Duty Cycle of the PWM. The Duty \nCycle can be increased by clicking the onboard switch SW2(PF0) or decreased by clicking SW1(PF4). The PWM module.  \n\u003cimg src=\"./images/servo_motor.png\" alt=\"Servo Motor\" height=\"300\"\u003e  \n\n\n### [TM4C123G LaunchPad PWM using GP Timer](./TM4C123G\u0026#32;LaunchPad\u0026#32;PWM\u0026#32;using\u0026#32;GP\u0026#32;Timer/)  \n**PWM using General Purpose Timer** - The program controls the intensity of Green LED on the Tiva C board TM4C123G LaunchPad \n(with TM4C123GH6PM microcontroller) by varying the Duty Cycle of the PWM. The Duty Cycle can be increased by clicking \nthe onboard switch SW2(PF0) or decreased by clicking SW1(PF4). Timer0 is used to create PWM at fixed frequency but \nvariable Duty Cycle.  \n\n\n### [TM4C123G LaunchPad ADC Potentiometer](./TM4C123G\u0026#32;LaunchPad\u0026#32;ADC\u0026#32;Potentiometer/)  \n**ADC Potentiometer** - The program reads the ADC value from an externally connected potentiometer.  \n\u003cimg src=\"./images/potentiometer.png\" alt=\"Potentiometer\" height=\"300\"\u003e  \n\n\n### [TM4C123G LaunchPad ADC Temp Sensor](./TM4C123G\u0026#32;LaunchPad\u0026#32;ADC\u0026#32;Temp\u0026#32;Sensor/)  \n**ADC reading from Temperature Sensor** - The program reads the ADC value from the Temperature sensor in the \nTM4C123GH6PM chip. This is then converted to Celsius and Fahrenheit scale.  \n\n\n### [TM4C123G LaunchPad UART](./TM4C123G\u0026#32;LaunchPad\u0026#32;UART/)  \n**UART** - The program reads the input from a user on the serial monitor (terminal) and echoes it back to the user. \nSerial Activity is displayed by the Blue Led which glows for 1ms on every UartRx.\n\n\n### [TM4C123G LaunchPad UART Stdio](./TM4C123G\u0026#32;LaunchPad\u0026#32;UART\u0026#32;Stdio/)  \n**UART Stdio** - The program reads the input from a user on the serial monitor (terminal) and echoes it back to the user. \nSerial 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.  \n\n\n### [TM4C123G LaunchPad Quadrature Encoder](./TM4C123G\u0026#32;LaunchPad\u0026#32;Quadrature\u0026#32;Encoder/)  \n**Quadrature Encoder** - The program interfaces the quadrature encoder peripheral to get the position and velocity \ninformation of a encoded DC motor. The QEI1 peripheral is used with PortC using PC4, PC5 and PC6 as Index1, PhA and PhB.  \n\u003cimg src=\"./images/quadrature_encoder.png\" alt=\"Quadrature Encoder\" height=\"300\"\u003e  \n\n\n### [TM4C123G LaunchPad PI Motor Control](./TM4C123G\u0026#32;LaunchPad\u0026#32;PI\u0026#32;Motor\u0026#32;Control/)  \n**PI Motor Control** - The program interfaces the QEI and PWM peripherals to implement a PI Position control of an Encoded \nDC Motor. The Motor used is Faulhaber 12V(17W) Coreless motor, 64:1 Planetary gearbox, 120RPM, 12 PPR Encoder. \nThis gives 3072 CPR of quadrature.  \n\u003cimg src=\"./images/faulhaber_motor.jpg\" alt=\"Faulhaber Motor\" height=\"300\"\u003e  \n\n\n### [TM4C123G LaunchPad PID with UART](./TM4C123G\u0026#32;LaunchPad\u0026#32;PID\u0026#32;with\u0026#32;UART/)  \n**PID with UART** - The program interfaces the QEI, PWM and UART peripherals to implement a PID Position control of an \nEncoded DC Motor. The Motor used is Faulhaber 12V(17W) Coreless motor, 64:1 Planetary gearbox, 120RPM, 12 PPR Encoder. \nThis gives 3072 CPR of quadrature.  \n\u003cimg src=\"./images/faulhaber_motor.jpg\" alt=\"Faulhaber Motor\" height=\"300\"\u003e  \n\n\n### [TM4C123G LaunchPad FPU Co-Processor](./TM4C123G\u0026#32;LaunchPad\u0026#32;FPU\u0026#32;Co-Processor/)  \n**FPU Co-Processor** - The program enables the Floating Point Unit Co-Processor which is \nused to calculate a sine wave with a specified number of sampling points.  \n\n\n### [TM4C123G LaunchPad PID with UART and FPU](./TM4C123G\u0026#32;LaunchPad\u0026#32;PID\u0026#32;with\u0026#32;UART\u0026#32;and\u0026#32;FPU/)  \n**PID with UART and FPU** - The program interfaces the QEI, PWM and UART peripherals to implement a PID Position control of \nan Encoded DC Motor. The Motor used is Faulhaber 12V(17W) Coreless motor, 64:1 Planetary gearbox, 120RPM, 12 PPR Encoder. \nThis gives 3072 CPR of quadrature. Also the FPU is used for the floating point calculations during PID.  \n\u003cimg src=\"./images/faulhaber_motor.jpg\" alt=\"Faulhaber Motor\" height=\"300\"\u003e  \n\n\n### [TM4C123G LaunchPad Ultrasonic HC-SR04](./TM4C123G\u0026#32;LaunchPad\u0026#32;Ultrasonic\u0026#32;HC-SR04/)  \n**Ultrasonin HC-SR04** - This is a sample code for HC-SR04. The code calculates the distance of an obstacle from the \nHC-SR04 sensor and publishes the data over the UART channel.  \n\u003cimg src=\"./images/ultrasonic.png\" alt=\"HC-SR04 Ultrasonic Sensor\" height=\"300\"\u003e  \n\n\n### [TM4C123G LaunchPad Workshop](./TM4C123G\u0026#32;LaunchPad\u0026#32;Workshop/)  \n**TM4C123G LaunchPad Workshop** - This contains all the codes of  Tiva-C workshop.   \n  \n ---\n   \n## Other similar repositories  \n\n- [**ARM-TM4C-IAR**](https://github.com/YashBansod/ARM-TM4C-IAR)  \nThis 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). \n\n- [**ARM-TMS570LC43x-CCS-HALCoGen**](https://github.com/YashBansod/ARM-TMS570LC43x-CCS-HALCoGen)  \nThis 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. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyashbansod%2Farm-tm4c-ccs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyashbansod%2Farm-tm4c-ccs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyashbansod%2Farm-tm4c-ccs/lists"}