Jump to content

Search the Community

Showing results for tags 'msp430g2553'.

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 150 results

  1. Hello! I've got a problem when I want to show the output on serial monitor of a GPS. When I put a basic example (fade example) and the TX of the GPS on the TX of MSP430 (P1_2 pin) the output shows good, without any problem. The baud rate was the stock one (9600). When I try to make the same thing on other pins (I've choosed RX of GPS to P1_3 and TX of GPS to P1_4) a scrambled output takes place on the serial monitor and I don't really know what to do. I'll attach the code, maybe it's a code issue. Thanks in advance! I'm new in this so take me easy please //THE CODE https://pastebin.com/cjFyjHns #include <SoftwareSerial.h> static const int RXPin = P1_4, TXPin = P1_3; static const uint32_t GPSBaud = 9600; // The serial connection to the GPS device SoftwareSerial ss(RXPin, TXPin); void setup() { Serial.begin(115200); ss.begin(GPSBaud); } void loop() { // Output raw GPS data to the serial monitor while (ss.available() > 0){ Serial.write(ss.read()); // delay(10); } }
  2. Hello, I found an Arduino library for tea5767 module. Has anyone tried to import it on Energia IDE or at least has an idea about how can I do this? I work with msp430g2553. Please help me!! https://github.com/andykarpov/TEA5767
  3. I have to ask if someone knows better. If I have MSP430G2553 controller but in CCS I forget to change the settings for controller and there was chosen the G2453, which is the 8KB version of the same controller..does this somehow damage the controller when I program them? They seem to work but I am not sure if this can cause some surprises or failures as it may happen accidentally when using different controllers??
  4. The goal of this project is to utilize an MSP430 to allow existing remote-controlled outlets to by controlled over Wi-Fi. As purchased, the outlets can be controlled with a provided remote control which uses 434 MHz radio signals. By programing the MSP430 to replicate the signals from this remote and hosting a web page with controls on the MSP430, the outlets can be able to be controlled from anywhere on the same Wi-Fi network. The completed project provides a web page that can both control each of three outlets individually or all three at once. This is done using an MSP430 as a controller with a 434MHz transmitter sending commands to the outlets, and an ESP 8266 Wi-Fi module connecting to the network. A schematic of the completed project is shown in Fig. 1, and a photo of the completed project is shown in Fig. 2. With this set up the outlets can be reliably controlled from anywhere on the same Wi-Fi network. The components required for this project, along with the equipment necessary are listed below. All the components can be purchased for less than $30. I was able to write an interface to control the outlets, as well as serve a webpage to control the outlets. This was the final project for my Embedded Systems class at John Brown University. more details are avalible in the attached file. Parts list: · TI MSP430G2553 Launchpad · 434 MHz RF transmitter https://www.sparkfun.com/products/10534 · ESP8266 wifi module · Syantek Remote Controlled Outlets https://www.amazon.com/Syantek-Electrical-Household-Appliances-Expandable/dp/B07JF93XB5 · Breadboard · Jumper cables · USB power supply Equipment · 434 MHz RF receiver https://www.sparkfun.com/products/10532 · Digilent Analog Discovery Module · Code Composer Studio · Serial to USB converter Light_Switch_Final_Report.docx
  5. I am trying (for quite long time) to write to EEPROM 64 bytes of data in 4 chunks (as EEPROM's page size is 16 bytes). Unfortunately, the MCU sends few extra bytes every time it transmits. For example, if I send 16 bytes, it transmits 22, with 6 last bytes being of unknown origin to me. For example, I send 15 text bytes within for(...) cycle xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx but see on the scope xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx BF F6 FD D7 3A C0 I tried another approach: send 15 bytes + 00. My program stops at 00, then I try to replace 00 with whatever has to be there using yet another write (1 byte only). However, I see 3 extra bytes: xx 2F 9A C9 00 I tried to write this 4 times at consequent addresses: 50 00 xx 00 50 01 xx 00 50 02 xx 00 50 03 xx 00 but every times I have the same extra bytes, like 50 01 xx 2F 9A C9 00 which result in (when reading 4 bytes) 50 00 xx xx xx xx 2F (5 bytes are read). Due to size of my project vs ROM size and also the need to learn C, I create all functions by myself, without using standard libraries. Below is I2C_write function, other ones regulating initialization, address selection or reading do not seem to be a problem. DCO is running at 16 MHz, with no division. void I2Ctext_write(unsigned int MemoryAddress, char * text, int length) { short int i = 0; UCB0I2CSA = addressSelect(MemoryAddress).three_bits_offset; while (UCB0STAT & UCBBUSY); //wait for USCI B0 bus to be inactive UCB0CTL1 |= UCTR + UCTXSTT; // I2C TX, start condition while (!(IFG2&UCB0TXIFG)); UCB0TXBUF = addressSelect(MemoryAddress).seven_bits_address; if(length) { for (i = 0; i < length; i++) { while(*text) { while (!(IFG2&UCB0TXIFG)); if(!(*text)) { break; } UCB0TXBUF = *text; *text++; } } } else { while(*text) { while (!(IFG2&UCB0TXIFG)); if(!(*text)) { break; } UCB0TXBUF = *text; *text++; } } while (!(IFG2&UCB0TXIFG)); UCB0TXBUF = 0; while (!(IFG2&UCB0TXIFG)); // data transmission has begun and the UCTXSTP bit may be set. UCB0CTL1 |= UCTXSTP; // Stop condition enabled; while (UCB0CTL1 & UCTXSTP); } Why do I see those extra bytes and what to do to get rid of them?
  6. Hi all. I have been working on a fingerprint based project using adafruit's fingerprint scanner from here http://www.adafruit.com/products/751 . I have been successfully using this with Arduino uno with the help of the following library provided by adafruit itself, from here: https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library Now, i have to switch from Arduino to Msp430g2553 LP. Can you'll please guide me with the following? : 1) How to port This library to Energia? I know the basic part is to replace Arduino.h and associated code with #include <energia.h>, but is there anything else i need to do? 2) How do work with SoftwareSerial in this case? I've read we cannot use baud rate above 9600 with g2553, is it true? Is there anyone who has worked on a similar project? Any help will be truly appreciated. Thanks in advance.
  7. Hi... So let me ask this straight. I have to run a 3phase BLDC Motor using a full bridge inverter. The PWM signals for the switches of the inverter need to be generated using a microcontroller. Which means I need 6 different PWM signals. Can this be achieved using an MSP430g2553 chip? I currently have the 20 pin version only. I happen to be a complete beginner in the matter of microcontrollers. So please be kind enough to overlook my dumbness if I've missed out something very obvious!
  8. Hello fellows, I need some help, i have get a code http://store.43oh.com/download/uploads/TheTerminal-OLEDDisplay/code/GWDeveloper-OLED_MSP430_USCI.zip. Now I have made some changes and I get the code working correctly, This display shows 4 lines of 8 pixels each, the code is implemented to work with a 6x8 font that is displayed correctly. I need to run a larger font, can anyone help me to rewrite the source code correctly that allows me to view a larger font correctly.
  9. Can anyone help me to transfer the data from msp430g2553 to CC3200? I want to know how to interface these two modules
  10. Hello. I have wrote an Energia program for digital potentiometer control. I want to save variable "counter" (it is an integer number from 0-255) in non-volatile memory using mspflash.h library in case of reset or power interrupt. But it doesn't saves. I am allmost sure there is something wrong with initialization of variables or pointers inside my code. Can anyone help? Any improvements in code? My code: #include <SPI.h> #include "MspFlash.h" #define outputA P2_1 #define outputB P2_2 #define flash SEGMENT_D int aState; int aLastState; const int slaveSelectPin = SS; const int shutDownPin = P1_4; int pos=0; int counter=0; int p=0; void setup() { pinMode (outputA,INPUT_PULLUP); pinMode (outputB,INPUT_PULLUP); aLastState = digitalRead(outputA); pinMode (slaveSelectPin, OUTPUT); pinMode (shutDownPin, OUTPUT); SPI.begin(); digitalWrite(shutDownPin, HIGH); digitalPotWrite(1, 0); } void loop() { Flash.read(flash+(pos * sizeof(int)), (unsigned char*)&p, sizeof(int)); counter=p; aState = digitalRead(outputA); if (aState != aLastState){ if (digitalRead(outputB) != aState) { counter=++counter; } else { counter=--counter; } } if (counter <= 255) { if (counter < 0) { digitalPotWrite(1, 0); counter = 0; Flash.erase(flash); Flash.write(flash+(pos * sizeof(int)), (unsigned char*)&counter, sizeof(int)); } else { digitalPotWrite(1, counter); Flash.erase(flash); Flash.write(flash+(pos * sizeof(int)), (unsigned char*)&counter, sizeof(int)); } } if (counter > 255) { digitalPotWrite(1, 255); counter = 255; Flash.erase(flash); Flash.write(flash+(pos * sizeof(int)), (unsigned char*)&counter, sizeof(int)); } aLastState = aState; } int digitalPotWrite(int address, int value) { digitalWrite(slaveSelectPin,LOW); SPI.transfer(address); SPI.transfer(value); digitalWrite(slaveSelectPin,HIGH); } Regards, Superpanky
  11. This is my first attempt with Energia. Sorry to ask so many questions. I need to know what state the G2553 is left in after whatever Energia does to it automatically so I know what I need to do, such as: Does it set the top of the stack? Does it set the clock to 1 MHz? 8 MHz? Does it disable the watchdog function? Does it return P2.6 and P2.7 to GPIO use? Does it leave all port pins as inputs with PU resistors? Does it set up a timer to generate interrupts for millis()? Also, where can I find this kind of information? I didn't have any luck searching for it here, or on the .nu site. Thanks
  12. Hi, I am completely new to serial communication. I wish to use a high speed ADC from TI ADS 8361. I want to interface with msp430g2553 using energia IDE. Can I get some code to check the ADC functions.
  13. I believe to have all connections correct from the launchpad to my breadboard, but when I connect VCC to my board the LCD just flickers some vertical lines and then the LCD goes dark again. Anyone have an suggestions? /* The circuit: ================================= LCD pin Connect to --------------------------------- 01 - GND GND, pot 02 - VCC +5V, pot 03 - Contrast Pot wiper 04 - RS Pin8 (P2.0) 05 - R/W GND 06 - EN Pin9 (P2.1) 07 - DB0 GND 08 - DB1 GND 09 - DB2 GND 10 - DB3 GND 11 - DB4 Pin10 (P2.2) 12 - DB5 Pin11 (P2.3) 13 - DB6 Pin12 (P2.4) 14 - DB7 Pin13 (P2.5) 15 - BL+ +5V 16 - BL- GND ================================= */ // include the library code: #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(P2_0, P2_1, P2_2, P2_3, P2_4, P2_5); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); analogReference(DEFAULT); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); }
  14. Hi Guys! I have MSP430 EXP LauchPad for my course. I want to program this lauchpad on Linux Mint but I have some troubles about that. Firstly, I downloaded Code Composer Studio to work on it but I had a error about port FET. Now I decided to download Energia, it looks like arduino IDE that is why I know about cart and port settings. My trouble on Energia is on the picture:
  15. Hi everyone I am beginner and I want to use the adxl345 with msp430g2553 with I2C, but the example that I am using don´t working, always send 0 in the axes x,y and z. I use energia 1.6.10e18, the circuit have the pull'up resistor in SDA and SCL pines, and I remove the jumper of the green led. I used the same code but with arduino and it working but with enegia not, help me please. My launchpad is MSP-EXP430G2 rev 1.5 The SCL is connected in pin 14 and the SDA in pin 15. My OS is windows 7 When i put this function "Wire.setModule(0)" the mcu does make nothing, the uart don´t send nothing. The code is the follow: #include <Wire.h> void setup() { Serial.begin(9600); Serial.print("Iniciado"); Wire.begin(); writeTo(DATA_FORMAT, 0x01); //Put the ADXL345 into +/- 4G range by writing the value 0x01 to the DATA_FORMAT register. writeTo(POWER_CTL, 0x08); //Put the ADXL345 into Measurement Mode by writing 0x08 to the POWER_CTL register. } void loop() { uint8_t howManyBytesToRead = 6; readFrom( DATAX0, howManyBytesToRead, _buff); //read the acceleration data from the ADXL345 int X = (((int)_buff[1]) << 😎 | _buff[0]; int Y = (((int)_buff[3]) << 😎 | _buff[2]; int Z = (((int)_buff[5]) << 😎 | _buff[4]; Serial.print("x: "); Serial.print( X ); Serial.print(" y: "); Serial.print( Y ); delay(500); } void writeTo(byte address, byte val) { Wire.beginTransmission(DEVICE); // start transmission to device Wire.write(address); // send register address Wire.write(val); // send value to write Wire.endTransmission(); // end transmission } void readFrom(byte address, int num, byte _buff[]) { Wire.beginTransmission(DEVICE); // start transmission to device Wire.write(address); // sends address to read from Wire.endTransmission(); // end transmission Wire.beginTransmission(DEVICE); // start transmission to device Wire.requestFrom(DEVICE, num); // request 6 bytes from device int i = 0; while(Wire.available()) // device may send less than requested (abnormal) { digitalWrite(RED_LED,HIGH); _buff = Wire.read(); // receive a byte i++; } Wire.endTransmission(); // end transmission }
  16. Hi, When doing offset calibration for pH sensor in Arduino we bring pH 7 to 2.5V as Arduino analog output is 5V. Does that mean when the same is done with msp430g2553 the voltage be adjusted to 1.5V as msp430g2553 analog pins output around 3V only? When I tried adjusting the pot I could only bring it to a minimum of 2.5V with msp430. Does anyone know why? Thanks.
  17. Usama

    MSP430 GPS

    Hi, Is there any GPS library for energia that supports MSP430g2553? TinyGPS++ doesn't seem to work. Please help. Thank you.
  18. I'm trying to create a toggle button but the code is not working. The code is as shown below: #include <msp430g2553.h> int main(void) { WDTCTL = WDTPW + WDTHOLD; // stop watchdog timer P1DIR &= ~BIT3; //P1.3 i/p P1REN |= BIT3; //P1.3 enable pullup resistor P1IES |= BIT3; //P1.3 high to low transition P1IFG &= ~BIT3; //P1.3 clear interrupt flag P1IE |= BIT3; //enable P1.3 interrupt P1DIR |= BIT0; //P1.0 o/p P1OUT &= ~BIT0; //clear P1.0 _BIS_SR(LPM0_bits + GIE); //enter LPM0 with interrupts enabled } #pragma vector = PORT1_VECTOR __interrupt void Port1(void) { P1IFG &= ~BIT3; //clear P1IFG P1OUT ^= BIT0; //toggle LED at P1.0 } Please let me know why it is not working. I am using MS430G2553 launchpad kit. Thanks!
  19. I am trying to establish SoftwareSerial Communication between 2 msp430g2553 units. I have connected them as follows: GND to GND, RX to TX and vice versa. MSP1: P1_5, P1_7 //Rx,Tx MSP2: P1_5, P1_7//Rx, Tx , I hope the connection is all right. Now, I want to send a byte from one mcu to the other for which I write the following code: Send function: void sendrequest(){ byte option = 1; mySerial.write(option); delay(2); return; } void loop() { // put your main code here, to run repeatedly: if(mySerial.available()>0){ checkiffalsesignal(); delay(10000); } } void checkiffalsesignal(){ byte a = mySerial.read(); if(a==1)Serial.println("Low Budget"); else if(a==2)Serial.println("High Budget"); else Serial.println("False Signal"); delay(2); return; } The second one is the receive function. But, I either receive nothing on the serial monitor or sometimes, I receive a "False Signal" message. Where is the fault?
  20. I had a HDC1080 EVM. I read that the back end of the evm can be broken off from the perforation and used as a standalone sensor on a micro-controller. I tried to interface it with the MSP430G2553. I have done the following with no avail: 1) the jumper on P1.6 has been removed(no interference of led with SCL line) 2) I have tried using pullup resistors on both the SCL and SDA lines. I have tried out with the standard 4.7k resistors and also with 10k resistors. 3) I always get a temperature value of -40 degree C and humidity of 0%, which means that the MSP is not able to get the readings through. 4) I am using the Wire library on Energia1.6.10E18 and I followed TI's tutorial video on how to implement HDC1080 on Arduino. Here's the link ( ) Here's my code: ? #include <Wire.h> void setup() { // put your setup code here, to run once: Serial.begin(9600); Wire.begin(); //Wire.setModule(); Wire.beginTransmission(0x40); Wire.write(0x02); Wire.write(0x90); Wire.write(0x00); Wire.endTransmission(); delay(20); } void loop() { // put your main code here, to run repeatedly: double temperature; double humidity; humidity = readSensor(&temperature); Serial.println(temperature); Serial.println(humidity); delay(1000); } double readSensor(double* temperature){ uint8_t Byte[4]; int value; uint16_t temp; uint16_t humidity; Wire.beginTransmission(0x40); Wire.write(0x00); Wire.endTransmission(); delay(20); Wire.requestFrom(0x40,4); if(4<=Wire.available()) { Byte[0]=Wire.read(); Byte[1]=Wire.read(); Byte[3]=Wire.read(); Byte[4]=Wire.read(); temp = (((unsigned int)Byte[0] <<8 | Byte[1])); *temperature = (double)(temp)/(65536)*165-40; humidity = (((unsigned int)Byte[3] <<8 | Byte[4])); return (double)(humidity)/(65536)*100; } } Where is it going wrong?
  21. I am trying to implement the msp430g2553 on a breadboard. Where should I add the reset button. I am not sure, but I think it should be added between reset pin and ground. BTW, I have the msp430 working on the breadboard, 47k between RST and Vcc and 1 nF between RST and GND. Where to add the pushbutton? The pushbutton is really handy for resetting
  22. I have been trying to interface DHT11 sensor with MSP430G2553. But I always end up getting a checksum error. I have attched the code and the library I am using. My sensor is the normal one with 4 pins coming out of it. I connect pin1 to Vcc(3.3V), pin2 to data pin(P1_3) and pin4 to GND. Please help. #include <dht.h> dht DHT; #define DHT11_PIN 5 void setup() { Serial.begin(9600); Serial.println("DHT TEST PROGRAM "); Serial.print("LIBRARY VERSION: "); Serial.println(DHT_LIB_VERSION); Serial.println(); Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)"); } void loop() { // READ DATA Serial.print("DHT11, \t"); int chk = DHT.read11(DHT11_PIN); switch (chk) { case DHTLIB_OK: Serial.print("OK,\t"); break; case DHTLIB_ERROR_CHECKSUM: Serial.print("Checksum error,\t"); break; case DHTLIB_ERROR_TIMEOUT: Serial.print("Time out error,\t"); break; default: Serial.print("Unknown error,\t"); break; } // DISPLAY DATA Serial.print(DHT.humidity, 1); Serial.print(",\t"); Serial.println(DHT.temperature, 1); delay(2000); } // // END OF FILE dht.zip
  23. I want to interface a DHT11 temperature and humidity sensor with my MSP430G2553. I looked up the Energia list of libraries, but the link for DHT11 is currently inactive. I tried downloading libraries from github, even ported over libraries from arduino, but none of them are working. I either get timeout errors or nothing gets printed on serial monitor at all. I know for sure that my sensor is perfectly fine because I have tested it for multiple libraries on Arduino. Please provide me the link for a valid DHT11 Energia library or help me out otherwise.
  24. Hello, I have obtained a PWM code online written in C. What is the equivalent code if it is written in Energia - .ino file using Energia IDE libraries? Here is the code: #include <msp430g2553.h> void setup() { WDTCTL = WDTPW + WDTHOLD; // Stop WDT if (CALBC1_1MHZ==0xFF) // If calibration constant erased { while(1); // do not load, trap CPU!! } DCOCTL = 0; // Select lowest DCOx and MODx settings BCSCTL1 = CALBC1_1MHZ; // Set range DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation */ P1DIR |= BIT6; P1SEL |= BIT6; TACCR0 = 20000-1; // PWM Period 20us (substract 1 because it's 0-based) TACCTL1 = OUTMOD_3; TACCR1 = 10000; // CCR1 PWM duty cycle TACTL = TASSEL_2 + MC_1; // SMCLK, up mode _BIS_SR(CPUOFF); // Enter LPM0 } Any help is much appreciated.
  • Create New...