Jump to content

Search the Community

Showing results for tags 'tiva c'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • Announcements
    • Suggestions
    • New users say Hi!
  • Spotlight!
    • Sponsor Spotlight
    • Sponsor Giveaways
  • Energia
    • Energia - MSP
    • Energia - TivaC/CC3XXX
    • Energia - C2000
    • Energia Libraries
  • MSP Technical Forums
    • General
    • Compilers and IDEs
    • Development Kits
    • Programmers and Debuggers
    • Code vault
    • Projects
    • Booster Packs
    • Energia
  • Tiva-C, Hercules, CCXXXX ARM Technical Forums
    • General
    • SensorTag
    • Tiva-C, Hercules, CC3XXX Launchpad Booster Packs
    • Code Vault
    • Projects
    • Compilers and IDEs
    • Development Kits and Custom Boards
  • Beagle ARM Cortex A8 Technical Forums
    • General
    • Code Snippets and Scripts
    • Cases, Capes and Plugin Boards
    • Projects
  • General Electronics Forum
    • General Electronics
    • Other Microcontrollers
  • Connect
    • Embedded Systems/Test Equipment Deals
    • Buy, Trade and Sell
    • The 43oh Store
    • Community Projects
    • Fireside Chat
  • C2000 Technical Forums
    • General
    • Development Kits
    • Code Vault
    • Projects
    • BoosterPacks


There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 27 results

  1. I have been trying to use this i2c code on energia. it works perfectly fine on arduino. i am new to tiva and need help using energia libraries with the multiple i2c ports. any help is appreciated trialEnergua.ino Adafruit_PWMServoDriver.h Adafruit_PWMServoDriver.cpp
  2. Hi all! We are using Tiva C series MCUs (TM4C1294XL and TM4C123GXL) for a project in IICDC 2019 but we are facing problems while implementing Controller Area Network protocol (CAN Protocol) using them. I've attached the basic code for sending messages via CAN protocol form one MCU to other but the problem is, it is not doing so as a message sent from one MCU is received by itself and not by other MCU in the network. We've tried using the filters as well but no progress. Any help would be really appreciated. P.S. - Do we require an extra CAN transceiver boosterpack for these modules? dph_CANExamplePolled.ino
  3. Hi I have a Tiva C TM4C123GXL launchpad. I was wondering if the SD Card booster pack, will fit the Tiva C board? I read it had 40 pin support and had solderable jumpers. Thanks Joe
  4. Hi all, I have a PID algorithm written on TIVA C TM4C123G . I want to setup a PIL simulation with Simulink. Simulink will send the error signal to TIVA, the PID will calculate the control signal and send it back to Simulink. How can I link the TIVA C "TM4C123GH6PM" Launchpad with Simulink and send/receive data in PIL setup? any help ?? Thanks
  5. I have a tm4c129 board. I have installed updates form the board manager for the TIVA C so now I can upload the default examples form Energia. 1. Problem arises when I try to add custom libraries. What is the correct method to add a library? 2. I can find only MSP430 folder at location E:\..\energia-1.6.10E18\hardware\energia , I suppose all boards installed should show up in the hardware library. 3. I have included the library which I am trying to compile Error: WARNING: Category '' in library SD is not valid. Setting to 'Uncategorized' Missing 'maintainer' from library in C:\Users\Admin\Documents\Energia\libraries\SD Error compiling for board LaunchPad (Tiva C) w/ tm4c129 (120MHz). sd-logger-source.zip
  6. Hello, I recently ported over an Energia sketch that had working WiFi functionality in order to help with remote logging for a project I'm working on. The WiFi works well, but now the CCS code that was handling the ADC interrupts and measuring data is no longer functioning. If possible, I would like to make minimal changes to the CCS code as it was working exactly as we desired. I feel like there must be a relatively simple fix that I'm missing but I can't seem to figure it out. Can someone please help figure out what's wrong the ADC interrupt in the following code? #include <stdint.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include "inc/hw_types.h" #include "inc/hw_gpio.h" #include "inc/hw_memmap.h" #include "inc/hw_ints.h" #include "sysctl.h" #include "gpio.h" #include "driverlib/gpio.h" #include "driverlib/timer.h" #include "driverlib/interrupt.h" #include "driverlib/debug.h" #include "driverlib/adc.h" #include "inc/tm4c123gh6pm.h" #include <string.h> #include <WiFiClient.h> #ifndef __CC3200R1M1RGC__ // Do not include SPI for CC3200 LaunchPad #include <SPI.h> #endif #include <WiFi.h> // your network name also called SSID char ssid[] = ""; // your network password char password[] = ""; WiFiClient client; IPAddress server(); uint16_t port = ; #define SAMPLING_RATE 80000.0 // #define TARGET_FREQUENCY 10000.0 // #define BLOCK_SIZE 80 #define BUFFER_SIZE 255 //result cannot be declared in interrupt handler uint8_t flag = 0; uint32_t buffer[BUFFER_SIZE]; uint32_t bufferIndex = 0; float goertzel(uint32_t buffer[]) { int k, i; const float floatN = (float)BLOCK_SIZE; float omega; k = (int) (0.5 + ((floatN * TARGET_FREQUENCY ) / SAMPLING_RATE)); omega = (2.0 * 3.14 * k)/floatN; float sine = sin(omega); float cosine = cos(omega); float coeff = 2.0 * cosine; float Q0 = 0; float Q1 = 0; float Q2 = 0; float scaling_factor = BLOCK_SIZE/2.0; for (i = 0; i < BUFFER_SIZE; i++) { Q0 = coeff * Q1 - Q2 + buffer[i]; Q2 = Q1; Q1 = Q0; } float imag, real, result; real = (Q1 - Q2 * cosine) / scaling_factor; imag = (Q2 * sine) / scaling_factor; result = sqrtf(real * real + imag * imag); return result; } void ADC3IntHandler(void) { float result = 0.0; ADCIntClear(ADC0_BASE, 3); if (flag == 0) { //GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_0, GPIO_PIN_0); flag = 1; } else { //GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_0, 0); flag = 0; } if (bufferIndex >= 255) { bufferIndex = 0; ADCSequenceDisable(ADC0_BASE, 3); result = goertzel(buffer); client.println(result); ADCSequenceEnable(ADC0_BASE, 3); } ADCSequenceDataGet(ADC0_BASE, 3, (buffer + bufferIndex)); bufferIndex++; } void setupADC(void) { SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_25MHZ); //Enable ADC0 and timer SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); //pin for testing //GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_0); TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC); TimerClockSourceSet(TIMER0_BASE, TIMER_CLOCK_SYSTEM); //625 - 40 kHz sampling rate TimerLoadSet(TIMER0_BASE, TIMER_B, 625); TimerControlTrigger(TIMER0_BASE, TIMER_B, true); //Disable before configuring ADCSequenceDisable(ADC0_BASE, 3); ADCSequenceConfigure(ADC0_BASE, 3, ADC_TRIGGER_TIMER, 0); ADCSequenceStepConfigure(ADC0_BASE, 3, 0, ADC_CTL_CH0 | ADC_CTL_IE | ADC_CTL_END); //sequencer 3 on PE3 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); //PE3 ADC pin GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_3); IntRegister(INT_ADC0SS3, ADC3IntHandler); ADCIntRegister(ADC0_BASE, 3, ADC3IntHandler); IntMasterEnable(); IntEnable(INT_ADC0SS3); ADCIntEnable(ADC0_BASE, 3); ADCSequenceEnable(ADC0_BASE, 3); SysCtlDelay(10); TimerEnable(TIMER0_BASE, TIMER_B); //Timer A conflicts with SPI of wifi module ADCIntClear(ADC0_BASE, 3); } void setup() { setupADC(); WiFi.begin(ssid, password); while ( WiFi.status() != WL_CONNECTED) { delay(300); } while (WiFi.localIP() == INADDR_NONE) { delay(300); } uint8_t tries = 0; while (client.connect(server, port) == false) { if (tries++ > 100) { while(1); } delay(100); } delay(1000); } void loop() { //client.println("hello"); } Thank you!
  7. Niral1426459960

    Tiva C UART

    Hello everyone.. I am beginner with Energia. I have Tiva C series launchpad which features TM4C123G series microcontroller. Now this microcontroller has 8 UARTs. I have tested basic serial communication using energia and it works perfectly fine. Now i want to use UART module 3 of this microcontroller which is pin no 13 and 14 (PC6 and PC7). So how can i do this using Energia..?? Thank you.
  8. Medsimo

    TIVA C, PWM mode

    Hello all !! I have a question about my TIVA board: What is the range of frequencies that we can get for the PWM, taking into account the possibilities of "clock division" and the "number of bits"? I ask you if in case we had to measure a resonator with the PWM as a generator (at 50% duty cycle). regards
  9. Medsimo


    hello People !! I have traying to upload this code (see below) in Tiva C LP with CC2530 AIR MODULE. I have this errors, someone gives me some help please. " I have libreries in order and all" Issues: C:\Users\Myriam\Documents\Energia\libraries\SPI\SPI.cpp: In member function 'void SPIClass::begin()': C:\Users\Myriam\Documents\Energia\libraries\SPI\SPI.cpp:207:55: error: invalid conversion from 'long unsigned int*' to 'uint32_t* {aka unsigned int*}' [-fpermissive] while(ROM_SSIDataGetNonBlocking(SSIBASE, &initialData)); ^ C:\Users\Myriam\Documents\Energia\libraries\SPI\SPI.cpp: In member function 'uint8_t SPIClass::transfer(uint8_t)': C:\Users\Myriam\Documents\Energia\libraries\SPI\SPI.cpp:244:35: error: invalid conversion from 'long unsigned int*' to 'uint32_t* {aka unsigned int*}' [-fpermissive] ROM_SSIDataGet(SSIBASE, &rxtxData); ^ code: Tiva_measurment.ino
  10. sherifsorour

    Led & Switch Program Failure - Tiva C

    Hello Guys, Iam starting to learn embedded systems with Tiva C board. I have issue in understanding simple code below this is part of the code input = GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_4); GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1 , input); PIN4 connected to switch and pin connected to led. It shall take the switch value and show it on the led but it doesn't work. Someone suggested to write the same code with the below if condition and it worked but I don't understand why the above code doesn't work. if(GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_4 ) == GPIO_PIN_4) { GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1 , GPIO_PIN_1 ); } else { GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1 , 0 ); } Appreciate if you can clarify this to me. Thanks
  11. Hi!, I'm try to connect tm4c123gxl with esp8266: esp8266 tm4c GND GND VCC +3.3V CH_PD +3.3V Rx PD7 (Tx 2) Tx PD6 (Rx 2) I tested with "AT" command, if it's success, it will return "OK". Here is my code: void setup() { Serial2.begin(115200); Serial.begin(9600); Serial2.write("AT"); } //------------------------------------------------------------ void loop() { while (Serial2.available()){ char result = Serial2.read(); Serial.print("Serial2 result:\t"); Serial.print(result); Serial.println(""); } } But It just print 2 lines and nothing else Serial2 result: A Serial2 result: T
  12. Hello ! I'm a student, I wonder if tm4c123gxl can write firmware to esp8266, because I see tm4c has Tx and Rx pins, or I have to buy a USB to TTL ? Here is my firmware I want to flash to esp8266 https://github.com/tuanpmt/esp_mqtt Thank you very much
  13. Fmilburn


    I was inspired a while back by the simplicity of the FFT application written by Shane Ormond and featured on the 43oh blog. It was easy to duplicate and I've made a few changes, additions, and such that seemed worth documenting. I didn't have a signal generator other than the 1kHz square wave on my oscilloscope and some clunky code that I wrote for a microcontroller so I ordered an inexpensive AD9850 and hooked it up to a FR6989 LP so I could use the LCD to display frequency. I've been pleased with the AD9850 and it is hard to beat it for the price. The sine wave is more than sufficient for my needs up to 40 MHz - I don't see any deviation from the scope. The code is here. This is a picture of the setup being tested on the oscilloscope and nailing it: I need to make a little boosterpack for this so it is a little handier to use. I made several modifications to Shane's code: Number of samples can be specified Bin readings are matched with corresponding frequency interval Frequency resolution of bins can be set Frequencies of up to 5 kHz or more can be measured I used a MSP-EXP432 for the most part but the code was also tested and works on the TM4C123. You really need an ARM to get this granularity. The code is here. To increase the sample size and allow measurement up to higher frequencies I used Energia's delayMicroseconds instead of millis. The right way to do this would be with timers and I hope to come back and address this at some point. To calibrate the bins to their actual frequencies I used a simple one step approach with a single pass that measures the deviation in the sampling time from expected to actual. Deviations occur due to the lag associated with Energia code and the actual time it takes to sample. Precision depends on the bin size and number of samples as well as inaccuracies in using delayMicroseconds. I posted the serial output into a spreadsheet to get some plots... 1000 Hz Square Wave 1000 Hz Sine Wave 5000 Hz Sine Wave My original goal was to create something that could process sound in the range of human hearing and this pretty much gets there. I need to clear my desk for another project but hopefully I get back to it some day or perhaps someone else will find it interesting and report back This is my list of potential improvements: use timer for sampling times add a microphone improve the graphical display / GUI It would be neat to get this working on an Educational BoosterPack.
  14. I want to resend each character from one UART port to another. Hardware: Lauchpad TivaC EK-TM4C123GXL. First port is the default port that is connected to microUSB on the board. The second port is UART2 (Rx = PD6; Tx = PD7) connected to DB9 through MAX3232:. Power is VBUS - GND. DB9 is now connected to computer through RS232-USB adapter. I communicate with 1st serial port through serial monitor in Energia (ttyACM0). I communicate with 2nd serial port through serial terminal in Linux (ttyUSB0). Code is very simple: void setup() { // initialize ports: Serial.begin(9600); //connected with USB delay(100); Serial2.begin(9600); //RS232: Rx = PD6; Tx = PD7 delay(100); } void loop() { } void serialEvent() { while (Serial.available()) { // get the new byte: char inChar = (char)Serial.read(); //send it to RS232 Serial2.print(inChar); } while (Serial2.available()) { // get the new byte: char inChar = (char)Serial2.read(); //send it to UI Serial.print(inChar); } } I got the following: Then I send something from Energia serial monitor (serial) - this message is displayed in linux serial terminal (serial2) - this is all good. Another way (from Serial2 to Serial) it does not work - I send messages from linux terminal, but nothing changes in Energia serial monitor. What is wrong with my setup?
  15. terjeio

    Multimedia Center

    My (crazy) project is getting closer to completion so time to start a project topic. I have verified my Tiva C based controller design and are now waiting for PCBs - will arrive from China in a few days. My background is from Radio/TV servicing and medical electronics, but for the last 25 years I have mainly been working on a large database application written in OpenEdge. Two years ago my preamp that I made some 30 years ago started to fail due to the rubber based switches rotting (a bit like my brain these days...). Since I did not want to buy one I decided to make a new - again with no mechanical parts in the audio path. A lot has happened since back when I was involved in electronics, and I have spent some time doing research for what components are now available - to many one may argue. I decided to use a CPLD programmed in VHDL for the switching logic, high quality analog switches (my original design employed 40 series CMOS for these) and a VCA (voltage controlled amplifier) for volume control. I did not want to introduce a MCU because I believed I would get into trouble with the clock signal interfering with the audio... Anyway, my new design was successful and has now been in service for nearly two years. After doing this I took an interest in learning about microprocessors again, I started out with Atmel/Ardouino and Energia but I found that combination a bit lacking - no easy way to do debugging was a showstopper for me. I found the TI processors more appealing, CCS allows me to get my hands dirty on "bare metal" and a decent debugger makes life easier. So, here I am making another iteration of my preamp - this time involving no less than four TI processors. I have decided to post my project under the Tiva C header since it is the main workhorse, but the three other MCUs are 430s. Ok, enough rambling - here are the main components I have designed: Raspberry PI power switch - PC-style startup/shutdown, may be controlled over I2C or from a front panel switch. IR Remote Control - RC5 protocol. Main controller - Tiva C based, custom UI library and support for Keystone DAB radio. Preamp board, 5 line inputs with the option of switcing one to phono (magnetic cartridge - vinyl is getting popular again), DAB option, I2C control and still a VCA based volume control. I have recently switched to KiCad as my EDA, I did use Zenith PCB earlier but I am a bit scared to continue using that as it is licensed on a yearly basis (even if it is free) - who knows when it wil not be supported anymore. KiCad is open software and does not suffer from any limitations to number of pins or board size. Attached are the design files I have made for the Preamp board - the design is still to be verified, I will do that when I see how the controller board works out when arriving from the fabricator. 3D view from my KiCad design - I am too lazy to make my own 3D files so it is somewhat incomplete. There is a TI processor hidden on the bottom side, as is the KeyStone radio module. If everything goes to plan I will post about the bits and pieces that makes up the complete project. I even have mechanical design files (Vectric format) that may be used to make files in order fabricate the enclosures on a CNC-machine. Ok, enough for this time. Terje PreAmpBoard.zip
  16. From the tm4c1294, I thought I remembered only seeing 8 PWM pins, yet the Energia picture (http://energia.nu/wordpress/wp-content/uploads/2014/06/LaunchPads-LM4F-TM4C-%E2%80%94-Pins-Maps-13-34.jpeg) shows quite a bit more than that. Can you really get PWM on every pin marked for PWM on the Energia diagram, or is it a case of all of the pins marked being PWM capable but only get PWM on 8 of them?
  17. Please, How to use the ADC Sample Averaging Control (ADCSAC) of TIVA C EK-TM4C123GXL with Energia? I need to increase the amount of reading by sampling. Thanks
  18. Good morning. I have a DS3231 and I want do hibernate Tiva C and wake up It with the rtc alarm. I did the alarm configuration, but, I couldn't configurate the hibernation module using Energia IDE. The microcontroller will has some sensors and sd card. So, It has a cycle: wake up (with rtc alarm) > read the sensors > write the data > hibernate ^------------------------------------------------------------------------------
  19. I am developing data acquisition using TM4C123GXL with Energia. I able to acquire signal of 20hz even my ADC has sampling rate of 1M/s. I need suggestion regarding how to increase acqusition bandwidth(higher range frequency)....
  20. ahmedmos

    Keil C++ Compiler

    I have Keil uVision version 4. I would like to configure it so that I can compile C++ code as well. I believe I can only compile C at the moment. Can anyone help with that? Thanks
  21. hello, i'm new here, and i want to know how to use PLL to change the tiva C systeme clock frequency? thanks
  22. Hello, I have a question regarding communication between my Tiva C EK-TM4C123GXL lauchpad and a generic SD Card breakout board. Using: Energia 0101E0013 Windows 8.1 SD Library (SD_TM4C) 4 GB FujiFilm SD card I CAN get the ReadWrite demo program in the SD library to work sucessfully by wiring everything up according to the 1-page pinout diagram that came with my board for the SPI bus. Hardware wiring (SD breakout --> Launchpad): SDCS --> J2.9 / PA3 / 12 MOSI --> J2.6 / PB7 / 15 SCK --> J1.7 / PB4 / 7 MISO --> J2.7 / PB6 / 14 And then I change the ReadWrite code so that it looks like this: void setup() { ... ... ... pinMode(12, OUTPUT); pinMode(12, LOW); if (!SD.begin(12)) { Serial.println("initialization failed!"); return; } Serial.println("initialization done."); ... ... ... } ...and everything works just fine. Here's where the problem comes in. I need to change the pins I'm using for the SD card because I'm going to use the Sensor Hub BoosterPack which uses (at least) J2.6 - J2.7 for I2C communication with the sensors. As far as my understanding goes, that means I need to find a different SPI bus for the SD card because I can't switch modes or devices easily. I have tried wiring up to pins J3.3 - J3.6 and changing my code to this... void setup() { ... ... ... pinMode(24, OUTPUT); pinMode(24, LOW); if (!SD.begin(24, SPI_HALF_SPEED, 3)) { Serial.println("initialization failed!"); return; } Serial.println("initialization done."); ... ... ... } ... but the SD card never initializes correctly. I'm obviously missing something and/or not understanding this SP_TM4C library correctly. Any help would be amazing. Thank you!
  23. karatesever

    Big array in memory

    I'm using a Tiva C series TM4C123G and I need to write 2 arrays of about 30000 places each, and this can't be done on the RAM memory so I was wondering if I could use the Flash memory instead. Is there a better way to solve this problem? And does anybody have a piece of code showing how to assign a array to the flash memory? On the same matter, I will need to ADC sample between 10khz and 15Khz, is there enough time to write to the flash memory? My clock is set to 80Mhz.
  24. I'm trying to port the usb_host_msc example to the Tiva Launchpad (EK-TM4C123GXL). I've been struggling with setting up the paths/build variables correctly. Ever since I introduced a function that uses the third part FatFs library. #10010 errors encountered during linking; "usb_host_mass_storage.out" not built usb_host_mass_storage C/C++ Problem unresolved symbols remain usb_host_mass_storage C/C++ Problem unresolved symbol f_mount, first referenced in ./main.obj usb_host_mass_storage C/C++ Problem I've double-checked the project properties several times, but i'm unable to determine what the issue really is. I've attached an archived version of the project. I'm using versions of TivaWare. of Code Composer Studio 14.04 of Ubuntu Appreciate any help. ccs_usb_mass_storage_example_tm4c123gh6pm.zip
  25. i am using a tiva c 1294 and the latest version of Energia. what i need to do is to be able to send information i get from the ADC via the Ethernet. that being said i already have a working version of the ADC, and right now i am just trying to get the Ethernet working. i figured that since i really only need to send the collected data out that sending it using UDP would be best since i haven't really worked with many Ethernet applications and i from what i know UDP is the simplest. I loaded the program listed under: File>Examples>Ethernet>UDPSendReceiveString (where the underlined portion is the actual program) and I tried to follow the directions listed in it to change the mac address and " Here's using netcat to send udp echo -n "foo" | nc -4u -q1 8888 " but I am getting nothing. the tiva c is connected to my laptop with a crossover cable. I am using wireshark to try to capture the packets and I am capturing everything that isn't the wireless. I thnk that there might be something else I need to do with the cmd prompt but I don't know what... help?! ~Zack49 udpsendreceive.txt