Jump to content

Search the Community

Showing results for tags 'TM4C1294XL'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • 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

Calendars

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Location


Interests


Sparkfun


Github

Found 8 results

  1. Hi, i need to use systick and serial comunication, but i cant serial communication works. I am using TM4C1294XL board. I've tested diferents values for Serial.setTimeout(10) (2, 10,50, 100) but no results Any idea? Thanks #include <stdint.h> #include "Energia.h" #include "driverlib/systick.h" #include "driverlib/systick.c" #include "driverlib/sysctl.h" #include "driverlib/adc.h" #include "wiring_private.h" #define pin 2 //PE4 #define SamplingFreq 60000 //Sampling frequency in HZ #define TickerPeriod (120000000/SamplingFreq) String inData = ""; // a string to hold incoming data bool onoff = LOW; // Ticker frequency pin test void setup() { SysTickDisable(); //Disable SysTick during configuration Serial.begin(115200); delay(500); // Waiting to seriaal monitor Serial.setTimeout(2);//Sets the maximum milliseconds to wait for serial data initialize serial: // reserve 200 bytes for the inputString: inData.reserve(200); SysTickPeriodSet(TickerPeriod); //Define counter period. When 0, calls interrupt SysTickIntRegister(&Ticker); //Asociate interrupt to ISR SysTick SysTickIntEnable(); //Enable systick interrupt SysTickEnable(); //Ebable configurated SysTick IntMasterEnable(); //Habilitadas todas las interrupciones } void loop() { // print the string when a newline arrives: } /* SerialEvent occurs whenever a new data comes in the hardware serial RX. This routine is run between each time loop() runs, so using delay inside loop can delay response. Multiple bytes of data may be available. */ void serialEvent() { while (Serial.available()) { // get the new byte: inData = Serial.readString(); Serial.println(inData); } } void Ticker() { //Frequency test onoff = !onoff; digitalWrite(pin, onoff); }
  2. Hello, I am trying to port Sparkfun's library to get the apds-9960 Gesture Sensor working on my Tiva C 1294 board. I set up the library like you normally would with ardunio while changing the interrupt pin and uploaded the code to my board with no issues. The only problem is when I go to serial monitor I get nothing printed to screen. Are there any other steps I need to take in order to convert this code to work on my Tiva board? I also tried moving to code composer studio but I cant find many clean tutorials on how to use it. I also have a MSP432 that I might try to get his working on if its supported better. Thanks! /**************************************************************** GestureTest.ino APDS-9960 RGB and Gesture Sensor Shawn Hymel @ SparkFun Electronics May 30, 2014 https://github.com/sparkfun/APDS-9960_RGB_and_Gesture_Sensor Tests the gesture sensing abilities of the APDS-9960. Configures APDS-9960 over I2C and waits for gesture events. Calculates the direction of the swipe (up, down, left, right) and displays it on a serial console. To perform a NEAR gesture, hold your hand far above the sensor and move it close to the sensor (within 2 inches). Hold your hand there for at least 1 second and move it away. To perform a FAR gesture, hold your hand within 2 inches of the sensor for at least 1 second and then move it above (out of range) of the sensor. Hardware Connections: IMPORTANT: The APDS-9960 can only accept 3.3V! Arduino Pin APDS-9960 Board Function 3.3V VCC Power GND GND Ground A4 SDA I2C Data A5 SCL I2C Clock 2 INT Interrupt Resources: Include Wire.h and SparkFun_APDS-9960.h Development environment specifics: Written in Arduino 1.0.5 Tested with SparkFun Arduino Pro Mini 3.3V This code is beerware; if you see me (or any other SparkFun employee) at the local, and you've found our code helpful, please buy us a round! Distributed as-is; no warranty is given. ****************************************************************/ #include <Wire.h> #include <SparkFun_APDS9960.h> // Pins #define APDS9960_INT PE_4 // Needs to be an interrupt pin // LED #define LED PN_0 // Constants // Global Variables SparkFun_APDS9960 apds = SparkFun_APDS9960(); int isr_flag = 0; void setup() { pinMode(LED, OUTPUT); // Set interrupt pin as input pinMode(APDS9960_INT, INPUT); Wire.setModule(0); Wire.begin(); // Initialize Serial port Serial.begin(9600); Serial.println(); Serial.println(F("--------------------------------")); Serial.println(F("SparkFun APDS-9960 - GestureTest")); Serial.println(F("--------------------------------")); // Initialize interrupt service routine attachInterrupt(0, interruptRoutine, FALLING); // Initialize APDS-9960 (configure I2C and initial values) if ( apds.init() ) { Serial.println(F("APDS-9960 initialization complete")); } else { Serial.println(F("Something went wrong during APDS-9960 init!")); } // Start running the APDS-9960 gesture sensor engine if ( apds.enableGestureSensor(true) ) { Serial.println(F("Gesture sensor is now running")); } else { Serial.println(F("Something went wrong during gesture sensor init!")); } } void loop() { if( isr_flag == 1 ) { detachInterrupt(0); handleGesture(); isr_flag = 0; attachInterrupt(0, interruptRoutine, FALLING); } } void interruptRoutine() { isr_flag = 1; } void handleGesture() { if ( apds.isGestureAvailable() ) { switch ( apds.readGesture() ) { case DIR_UP: Serial.println("UP"); digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second break; case DIR_DOWN: Serial.println("DOWN"); digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second break; case DIR_LEFT: Serial.println("LEFT"); digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second break; case DIR_RIGHT: Serial.println("RIGHT"); digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second break; case DIR_NEAR: Serial.println("NEAR"); digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second break; case DIR_FAR: Serial.println("FAR"); digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second break; default: Serial.println("NONE"); } } }
  3. I am working on TM4C1294XL board and through Energia platform. I am trying to get the outputs from BMG250 shuttle board. I am pasting the code below but I believe the code has no fault. I have doubts about the connections to the shuttle board. I am getting -1 (when dividing outputs by 256) in all the three axis. I am sharing the schematic pdf that has information about the shuttle board connections. I have connected as given in the file but I have the following doubts: 1. How can set the pmu_status to normal gyroscope as it is mentioned in the datasheet as only readable? And when I read the pmu_status to know the current mode, I only get a 0 as the output and no output comes for the three axis. 2. In the schematic pdf, it can be seen that there are multiple SDO, SCL etc. Should I connect them to each other or use only one of them? Somebody help me out. Code :- #include "Wire.h" #define pmu_status 0x03 #define data 0x12 #define gyr_config 0x42 #define gyr_range 0x43 #define offset 0x74 #define dataReadyStatus 0x1B #define X_axis_dataX0 0x12 #define X_axis_dataX1 0x13 #define Y_axis_dataY0 0x14 #define Y_axis_dataY1 0x15 #define Z_axis_dataZ0 0x16 #define Z_axis_dataZ1 0x17 #define command 0x7E int gyrAddress=0x68; long X0,X1,Y0,Y1,Z0,Z1; long X_out,Xg,Y_out,Yg,Z_out,Zg; void setup() { Wire.setModule(0); Wire.begin(); Serial.begin(115200); Wire.beginTransmission(gyrAddress); Wire.write(gyr_config); Wire.write(0x28); Wire.write(command); Wire.write(0x15); Wire.write(gyr_range); Wire.write(0x00); Wire.endTransmission(); } void loop() { Wire.beginTransmission(gyrAddress); Wire.write(X_axis_dataX0); Wire.write(X_axis_dataX1); Wire.endTransmission(); Wire.requestFrom(gyrAddress,2); if(Wire.available()<=2) { X0 = Wire.read(); X1 = Wire.read(); X1 = X1<<8; X_out = X0+X1; Xg = (X_out)/1.0; } Wire.beginTransmission(gyrAddress); Wire.write(Y_axis_dataY0); Wire.write(Y_axis_dataY1); Wire.endTransmission(); Wire.requestFrom(gyrAddress,2); if(Wire.available()<=2) { Y0 = Wire.read(); Y1 = Wire.read(); Y1 = Y1<<8; Y_out = Y0+Y1; Yg = (Y_out)/1.0; } Wire.beginTransmission(gyrAddress); Wire.write(Z_axis_dataZ0); Wire.write(Z_axis_dataZ1); Wire.endTransmission(); Wire.requestFrom(gyrAddress,2); if(Wire.available()<=2) { Z0 = Wire.read(); Z1 = Wire.read(); Z1 = Z1<<8; Z_out = Z0+Z1; Zg = (Z_out)/1.0; } Serial.print("Xg = "); Serial.print(Xg); Serial.print("\t"); Serial.print("Yg = "); Serial.print(Yg); Serial.print("\t"); Serial.print("Zg = "); Serial.println(Zg); delay(200); } SCHEMATIC1 _ BMG250.pdf
  4. I am working on TM4C1294XL board and through Energia platform. I am trying to interface HMC5883L of GY-80 with TM4C1294XL board. I am getting static outputs irrespective of whether I initialize all the essential registers or initialize none, the static outputs do not change in both cases. I am pasting the code below, I suspect that something should be wrong with the code as there nothing much to do in connection (only four wires needed). #include "Wire.h" #define cra 0x00 #define crb 0x01 #define modeReg 0x02 #define data_X_MSB 0x03 #define data_X_LSB 0x04 #define data_Y_MSB 0x07 #define data_Y_LSB 0x08 #define data_Z_MSB 0x05 #define data_Z_LSB 0x06 #define statusReg 0x09 #define ID_reg_A 0x10 #define ID_reg_B 0x11 #define ID_reg_C 0x12 int magAddress = 0x1E; int X0,X1,Y0,Y1,Z0,Z1,X_out,Y_out,Z_out; float Xm,Ym,Zm; void setup(){ Wire.setModule(0); Wire.begin(); Serial.begin(115200); delay(100); Wire.beginTransmission(magAddress); Wire.write(modeReg); Wire.write(0x00); Wire.write(cra); Wire.write(0x38); Wire.write(crb); Wire.write(0xA0); Wire.write(data_X_MSB); Wire.write(0x00); Wire.write(data_X_LSB); Wire.write(0x00); Wire.write(data_Y_MSB); Wire.write(0x00); Wire.write(data_Y_LSB); Wire.write(0x00); Wire.write(data_Z_MSB); Wire.write(0x00); Wire.write(data_Z_LSB); Wire.write(0x00); Wire.endTransmission(); } void loop(){ Wire.beginTransmission(magAddress); Wire.write(data_X_LSB); Wire.write(data_X_MSB); Wire.endTransmission(); Wire.requestFrom(magAddress,2); if(Wire.available()<=2) { X0 = Wire.read(); X1 = Wire.read(); X1 = X1<<8; X_out = X0+X1; Xm = (X_out); } Wire.beginTransmission(magAddress); Wire.write(data_Y_LSB); Wire.write(data_Y_MSB); Wire.endTransmission(); Wire.requestFrom(magAddress,2); if(Wire.available()<=2) { Y0 = Wire.read(); Y1 = Wire.read(); Y1 = Y1<<8; Y_out = Y0+Y1; Ym = (Y_out); } Wire.beginTransmission(magAddress); Wire.write(data_Z_LSB); Wire.write(data_Z_MSB); Wire.endTransmission(); Wire.requestFrom(magAddress,2); if(Wire.available()<=2) { Z0 = Wire.read(); Z1 = Wire.read(); Z1 = Z1<<8; Z_out = Z0+Z1; Zm = (Z_out); } Serial.print("Xm = "); Serial.print(Xm); Serial.print("\t"); Serial.print("Ym = "); Serial.print(Ym); Serial.print("\t"); Serial.print("Zm = "); Serial.println(Zm); delay(200); }
  5. I am trying to interface GY-80 (only adxl345) to TM4C1294XL board using Energia. But outputs comes out to be 0. And also there comes this error "Failed to load dynamic library: 'ftd2xx.dll' " while uploading but the code gets uploaded successfully. I am pasting the code below, can somebody tell me where i am doing it wrong? #include "Wire.h" #define Power_Register 0x2D #define BW_rate 0x2C #define Int_enable 0x2E #define dataFormat 0x31 #define X_Axis_Register_DATAX0 0x32 #define X_Axis_Register_DATAX1 0x33 #define Y_Axis_Register_DATAY0 0x34 #define Y_Axis_Register_DATAY1 0x35 #define Z_Axis_Register_DATAZ0 0x36 #define Z_Axis_Register_DATAZ1 0x37 #define fifoCntrl 0x38 int ADXAddress = 0x53; int X0,X1,X_out; int Y0,Y1,Y_out; int Z1,Z0,Z_out; float Xa,Ya,Za; void setup() { Wire.setModule(0); Wire.begin(ADXAddress); Serial.begin(115200); delay(100); Wire.beginTransmission(ADXAddress); Wire.write(Power_Register); Wire.write(8); Wire.write(BW_rate); Wire.write(10); Wire.write(dataFormat); Wire.write(11); Wire.write(fifoCntrl); Wire.write(0); Wire.endTransmission(); } void loop() { Wire.beginTransmission(ADXAddress); Wire.write(X_Axis_Register_DATAX0); Wire.write(X_Axis_Register_DATAX1); Wire.endTransmission(); Wire.requestFrom(ADXAddress,2); if(Wire.available()<=2) { X0 = Wire.read(); X1 = Wire.read(); X1=X1<<8; X_out =X0+X1; } Wire.beginTransmission(ADXAddress); Wire.write(Y_Axis_Register_DATAY0); Wire.write(Y_Axis_Register_DATAY1); Wire.endTransmission(); Wire.requestFrom(ADXAddress,2); if(Wire.available()<=2) { Y0 = Wire.read(); Y1 = Wire.read(); Y1=Y1<<8; Y_out =Y0+Y1; } Wire.beginTransmission(ADXAddress); Wire.write(Z_Axis_Register_DATAZ0); Wire.write(Z_Axis_Register_DATAZ1); Wire.endTransmission(); Wire.requestFrom(ADXAddress,2); if(Wire.available()<=2) { Z0 = Wire.read(); Z1 = Wire.read(); Z1=Z1<<8; Z_out =Z0+Z1; } Serial.print("Xa= "); Serial.print(Xa);Serial.print("\t"); Serial.print("Ya= "); Serial.print(Ya);Serial.print("\t"); Serial.print("Za= "); Serial.println(Za); delay(1000); Serial.println(); }
  6. Hello, I wrote a very simple PWM Code for my Brushless DC Motor (incl. ESC) and it works very good (I don't use any Potentiometers.): int motorPin = PF_1; void setup() { pinMode(motorPin, OUTPUT); } void loop() { analogWrite(motorPin, HIGH); delayMicroseconds(1000); analogWrite(motorPin, LOW); delayMicroseconds(19000); } I need 50Hz (1/50=20us). The Motor breaks when the first delay is "1000us" and the second is "19000us". The Motor arrives highspeed when the first delay is "2000us" and the second is "18000us" So my dutycycle should be between 5 - 10% What i need is this PWM Signal without any delays. Is there any way to create a PWM without delays? Thank you very much. greetings, Yaman
  7. Hello, I am a long time Arduino user, and I was tempted by the $20 price on the newest "Connected" launchpad TM4C1294XL. Seemed mighty powerful for the price! So I am basicly a noob only when it comes to this platform, and I've been going thru the tutorials and 'getting started' videos and I'm still stuck. First of all, I am trying to get started and the "Blink" example does not work on this board. Apparently because whatever I/O pin that Energia maps as "RED_LED" is not the same as any of the I/O pins that drive the 4 LEDS on my TM4C1294XL board. According to the docs for my board, the LEDs are connected to GPIO pins PN0, PN1, PF4, and PF0. This board has a heckuva lot of I/O pins. How are they all numbered/named in Energia? I've tried all sorts of numbers and names and either it doesn't compile because it's not recognized, or it compiles but the lights don't actually blink. It apparently uploads as it seems to have overwritten the Exosite demo app that came pre-loaded on the board. Likewise, I can't get the "Hello" example to work either. No text is received in the terminal. Checked baud rate, com port, hit reset, etc. And likewise, I can't get "Blinky" or "Hello" to work in Code Composer either. No errors that appear fatal. At this point, I'm not sure if my board even works. I have not been able to get either the blinky or hello world sketches to work, either in Energia, or Code Composer. I'm not entirely sure the sketch is even being uploaded to the board. But the Exosite app worked before I apparently overwrote it. I don't see any fatal errors. Like I said, I'm a noob to this platform, but pretty good with Arduino, I've been working with it for years. (Stellaris virtual COM drivers are installed, Windows Device Manager sees my board as COM4) WizBlink.ino
  8. developer_bt

    TM4C1294XL LaunchPad is blocked from WDT

    I have a problem with Tiva C Series EK-TM4C1294XL LanchPad. .Totally is blocked: ( Only the green LED1 illuminates with low-intensity! I wanted to incorporate a greater value for WDT timer but I made a mistake and enter lower. I wanted to reset every 10 seconds. And I enter WatchdogReloadSet (WATCHDOG0_BASE, SysCtlClockGet () / 10000). Instead of WatchdogReloadSet (WATCHDOG0_BASE, SysCtlClockGet () * 10000). Now microcontroller is continuously in reset and can not be programmed with ICDI. Following message appears: Unable to find any ICDI devices. How to solve this problem? Code is from the link with small changes. #include <stdint.h> #include "inc/hw_types.h" #include "inc/hw_ints.h" #include "driverlib/sysctl.h" #include "driverlib/eeprom.h" #include "driverlib/watchdog.h" #include "driverlib/interrupt.h" #define LED1 PN_1 int interval = 50; void setup() { pinMode(LED1, OUTPUT); //LED 1 } void loop() { //Watchdog Stuff SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG0); SysCtlPeripheralReset(SYSCTL_PERIPH_WDOG0); if(WatchdogLockState(WATCHDOG0_BASE) == true) { WatchdogUnlock(WATCHDOG0_BASE); } //WatchdogReloadSet(WATCHDOG0_BASE, ROM_SysCtlClockGet()); WatchdogReloadSet(WATCHDOG0_BASE, SysCtlClockGet()/10000); // This is a mistake WatchdogResetEnable(WATCHDOG0_BASE); WatchdogEnable(WATCHDOG0_BASE); //IntMasterEnable(); //IntEnable(INT_WATCHDOG); while(1) { WatchdogIntClear(WATCHDOG0_BASE); //do stuff digitalWrite(LED1, HIGH); // turn the LED on (HIGH is the voltage level) delay(interval); // wait for a second digitalWrite(LED1, LOW); // turn the LED off by making the voltage LOW delay(interval); // wait for a second } }
×