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. 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?
  2. 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?
  3. 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
  4. 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.
  5. 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.
  6. This is a fun project that was created for my embedded systems class at John Brown University that allows you to create your own quiz wizard similar to the jeopardy game show system. The main portion of this code is run on an MSP430F5529 launchpad, and nRF24L01 transceiver modules were used to obtain the wireless functionality. It makes use of the Enrf24.h library to operate the transceiver modules, and the user interface is output to the serial monitor of the energia IDE. Four buttons wired into the MSP430F5529 then allow the user to interact with the system. The wireless module was created by using an MSP430G2553 launchpad, button, and LED for indicating power on. The LCD display can be integrated although an Arduino MEGA is needed to have it be fully functional with the rest of the system, so the code for this portion of the project was not uploaded. Enrf24_RXdemo.ino Enrf24_TXdemo.ino Rough Circuit Schematic.pdf
  7. I need to have a very accurate PWM frequency generated with my MSP430G2553IRHB32R. I'm shooting for 25.1khz. However, when running on different boards, I can see variances of up to 3khz in the frequency. I understand this is due to the slight inaccuracy in the processor's internal clock. So, I would like to attach an external crystal or oscillator to it but don't know how. I've read a couple places that say that this chip doesn't support a crystal, but that I could use an oscillator. The questions I have is how does one connect the oscillator, and what code changes are necessary to take advantage of the oscillator? Thanks.
  8. Does anybody have working code for calculating heart beats per minute for the pulse sensor through energia. Been trying to find some but havent had any luck.
  9. Does anybody have working code that interfaces the msp and mpu6050. I'm trying to use it as a pedometer. Thanks in advance.
  10. Does anybody have working code that interfaces the msp430 and pulse sensor(meant for arduino) to calculate heart beats per minute. Or if you have something through Energia. Anything helps.. Thanks
  11. I would like to measure the voltage of a NiMH DC battery not exceeding 12V and I just knew that msp430g2553's ADC has an internal voltage divider. Is it appropriate to use the internal voltage divider directly without any external circuit?
  12. Hi, Is there a ready library for PID control available for MSP430F5438A or G2553 controllers. Please help if an example is available for the same. Thanks, Tanmay
  13. Hello, I am new to to MSP environment and I would like to have some help with this project. If this is on the wrong place of the forum or something like this please tell me so I can change it. I tried to make things on my own but I got stuck for 2 weeks trying to get my LCD to work properly with my first MSP. I also have acess to a friend's MSP430G2553, but the links some of the links on the forum where broken on http://43oh.com/2010/11/lcd-special-two-ways-to-interface-a-msp430-to-an-lcd/. The conections are most probably right because I can write without problems throught Arduino, so I think the problem here is the code. I am using CCS 6.2. Thanks in advance and sorry for any grammar mistakes. #include "msp430.h" #include "intrinsics.h" #include <stdio.h> #define delay3s (int)(3*750000) #define delay2ms (int)((2/1000)*750000) #define delay5ms (int)((5/1000)*750000) #define delay100us (int)((0.1/1000)*750000) #define RS BIT1 //2.1 #define EN BIT0 //2.0 // ooooooooo ooooo oooooooo8 oooooooooo ooooo o ooooo oooo // 888 88o 888 888 888 888 888 888 888 88 // 888 888 888 888oooooo 888oooo88 888 8 88 888 // 888 888 888 888 888 888 o 8oooo88 888 // o888ooo88 o888o o88oooo888 o888o o888ooooo88 o88o o888o o888o void envia(void); void send_command (unsigned char cmd); void send_data (unsigned char data); void send_string(char *s); void lcd_init (void); void dado(void); void envia(){ P2OUT = P2OUT | (EN); // define E high signal; __delay_cycles( delay100us); P2OUT = P2OUT & ~(EN); // define E low signal __delay_cycles( delay100us); } void send_command(unsigned char cmd){ P2OUT = P2OUT &~(EN+RS); // define E low e define RS low - para mandar comandos P1OUT &= 0xF0; // send higher nibble P1OUT |= ((cmd>>4) & 0x0F); envia(); // give enable trigger P1OUT &= 0xF0; // send lower nibble P1OUT |= ((cmd) & 0x0F); envia(); // give enable trigger } void send_data(unsigned char data){ P2OUT |= (RS); // define RS high - para mandar dados P2OUT &= ~(EN); P1OUT &= 0xF0; P1OUT |= ((data>>4) & 0x0F); // send higher nibble envia(); // give enable trigger P1OUT &= 0xF0; P1OUT |= (data & 0x0F); // send lower nibble envia(); // give enable trigger } void send_string(char *s){ while(*s) { send_data(*s); s++; } } void lcd_init(void){ P2DIR |= (EN+RS); P2OUT &= ~(EN+RS); P1DIR |= (BIT4+BIT5+BIT6+BIT7); //Dados P1OUT &= ~(BIT4+BIT5+BIT6+BIT7); //Bits P1.4 a P1.7 send_command(0x33); __delay_cycles( delay2ms ); send_command(0x32); __delay_cycles( delay2ms ); send_command(0x28); // 4bit mode __delay_cycles( delay2ms ); send_command(0x0E); //send_command(0x0E)= display on / cursor on send_command(0x0C) = display on / cursor off __delay_cycles( delay2ms ); send_command(0x01); // Clear LCD __delay_cycles( delay2ms ); send_command(0x06); // Incrementa o cursor automaticamente __delay_cycles( delay2ms ); send_command(0x80); // Cursor na casa inicial __delay_cycles( delay2ms ); } void main( void ){ WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer to prevent time out reset lcd_init(); send_command(0x01); // Clear LCD __delay_cycles( delay5ms ); send_string(" MSPLAY "); send_command(0xC0); // Linha 2 __delay_cycles( delay2ms ); send_string("By: Ivan Moraes "); __delay_cycles( delay3s ); //COLOCAR MÚSICA NO LUGAR DESSE DELAY }
  14. Hi, I'm having a lot of trouble figuring out how to communicate with this Adafruit 7-segment display. I've looked through the Adafruit LED library, seen non-MSP microcontrollers working with the code, tried understanding the HT16K33 datasheet. I've even recorded the SCL and SDA signals from my Arduino connecting with the 7-segment. However, I'm still not sure how to get it to work with my MSP430G2553 or even how to get started. Though, I have looked into the MSP430 example code for i2c communications with the MSP430 as the master. Is it as simple as just converting the Adafruit LED library from C++ to C? I didn't expect interfacing with a 7-segment display to be so difficult for me. Any advice is much appreciated.
  15. Hello there, I am new to this forum. I wanted a code which could help me create a neural network to correlate my sensor data and get the desired output. I am using MSP430G2553 micro-controller with Energia as the software. It will be a great help. Thanks in advance.
  16. hello. I'm trying to use Proteus to make my simulations, the problem is that I don't find the device msp430g2553 in proteus. Can anyone tell me where i can find this msp for proteus? thank you very much
  17. I'm working on a project where I need to oscillate at 25khz. I've been using the PWM built into the MSP430G2553 and it doesn't seem to be accurate enough to give me exactly 25khz. I've been getting anywhere from 23khz to 27khz and cannot figure out why it's off by so much. I might be doing something wrong. Does anybody know what sort of accuracy I should expect from the on board PWM in the MSP430G2553. Is there a way to make it more accurate? I was looking at adding an external crystal, but would rather not add that complication if it isn't necessary.
  18. i bought two Mspexp430 launchpad with two cc110l rfand i could to programm them in energia : then i want to add more nodes on the Network so i bought two new Mspexp430 launchpad with new two cc110l rf and they work correctly on ATC boostersatcklite but when I want to program them on energia I can upload the code but the cc110l doesn’t exchange any data from each other , i tried also with the examples in energia (wirlessControl-WirlessTest-WirelessMonitorhub-WirelessmonitorSensor) but they did not work Can you help me to let them work correctly and exchange data
  19. Hi, I just noticed an excessive consumption of ram by Wire on G2553 (I did not test on other µC) : 400 bytes !! I took a look at Wire.h but can't find where this memory is used. If anyone can confirm this and/or have an idea about this issue ? Regards
  20. I'm new to MSP430 and I'm trying to do a frequency/period measurement. I've read about timers and get the main concepts though I'm still learning. To get an idea of how they work, I'm using this code. It outputs a PWM on one pin which I connect to another pin for capturing period: http://coecsl.ece.illinois.edu/ge423/datasheets/MSP430Ref_Guides/Cexamples/MSP430G2xx3 Code Examples/C/msp430g2xx3_ta_21.c After making some modifications (removing unneeded code to light led and adding calculations for frequency) it works with the original pins. However, I want to change which input pin will take measurements. I want pin 2.0 to do so. Currently, TimerA0 captures and TimerA1 outputs PWM. Since PIN 2.0 uses TimerA1 and not A0, I assumed I would just need to flip the timers and pins. However, it's not working. I looked at the datasheet and can't figure out whats wrong. What am I missing? Here is my code: #include <msp430.h> unsigned char Count, First_Time; unsigned int REdge1, REdge2, FEdge; int main(void) { unsigned int Period, ON_Period; unsigned char DutyCycle; WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer // P1SEL |= BIT0; if (CALBC1_8MHZ==0xFF) // If calibration constant erased { while(1); // do not load, trap CPU!! } DCOCTL = 0; // Select lowest DCOx and MODx settings BCSCTL1 = CALBC1_8MHZ; // Set DCO to 8MHz DCOCTL = CALDCO_8MHZ; // Configure Port Pins P1DIR |= BIT2; // P2.1/TA1.1 Output P1SEL |= BIT2; // TA1.1 Option select P2DIR &= ~BIT0; // P1.1/TA0.1 Input Capture P2SEL |= BIT0; // TA0.1 option select // Configure TA1.1 to output PWM signal // Period = 82/32khz = 2.5ms ~ 400Hz Freq TA0CCR0 = 82-1; // Period Register TA0CCR1 = 21; // TA1.1 25% dutycycle TA0CCTL1 |= OUTMOD_7; // TA1CCR1, Reset/Set TA0CTL = TASSEL_1 + MC_1 + TACLR; // ACLK, upmode, clear TAR // Configure the TA0CCR1 to do input capture TA1CCTL1 = CAP + CM_3 + CCIE + SCS + CCIS_0; // TA0CCR1 Capture mode; CCI1A; Both // Rising and Falling Edge; interrupt enable TA1CTL |= TASSEL_2 + MC_2 + TACLR; // SMCLK, Cont Mode; start timer // Variable Initialization Count = 0x0; First_Time = 0x01; while(1) { __bis_SR_register(LPM0_bits + GIE); // Enter LPM0 __no_operation(); // For debugger // On exiting LPM0 if (TA1CCTL1 & COV) // Check for Capture Overflow while(1); // Loop Forever Period = REdge2 - REdge1; // Calculate Period ON_Period = FEdge-REdge1; // On period DutyCycle = ((unsigned long)ON_Period*100/Period); } } // TA0_A1 Interrupt vector #pragma vector = TIMER1_A1_VECTOR __interrupt void TIMER1_A1_ISR (void) { switch(__even_in_range(TA1IV,0x0A)) { case TA1IV_NONE: break; // Vector 0: No interrupt case TA1IV_TACCR1: // Vector 2: TACCR1 CCIFG if (TA1CCTL1 & CCI) // Capture Input Pin Status { // Rising Edge was captured if (!Count) { REdge1 = TA1CCR1; Count++; } else { REdge2 = TA1CCR1; Count=0x0; __bic_SR_register_on_exit(LPM0_bits + GIE); // Exit LPM0 on return to main } if (First_Time) First_Time = 0x0; } else { // Falling Edge was captured if(!First_Time) { FEdge = TA1CCR1; } } break; case TA1IV_TACCR2: break; // Vector 4: TACCR2 CCIFG case TA1IV_6: break; // Vector 6: Reserved CCIFG case TA1IV_8: break; // Vector 8: Reserved CCIFG case TA1IV_TAIFG: break; // Vector 10: TAIFG default: break; } } I checked and there is a pulse going into P2.0 but P2.0 is not capturing it. Is it just not possible with this pin or am I missing something obvious?
  21. Hi, I am using MSP430 launchpad with G2553 controller. When I am using sleep(5000), and varying the voltage on the controller from 3v to 4v the timing is varying based on the voltage, but the timing in not changing when I am using delay(5000) when I am varying voltage. Any help will be appreciated. Regards,
  22. Hi Everybody, I've been developing some code on Linux using CCSV7.2 and I already know that CCS will not program the g2553 like it would on a Windows box. But, I know that you guys are clever! How have you been programming and debugging the g2553 on Linux these days? Are you using a different LaunchPad and hot wiring it over to the G2553 LaunchPad?
  23. I wrote a sketch to fire 2 outputs back and forth with a pot to adjust the on time of the outputs and a pot to adjust the off time. The outputs are just LEDs for now and there is a 3rd LED that turns on when either output is on (so I can adjust the pots later when the outputs are only driving silent, solid state relays.) Every time the MSP430G2553 is powered up or reset, in the Launchpad or a bread board, all of the pins configured as outputs go high for about a second before the program starts to run There is a thread that comes up with a google search of the problem where everyone just accepts that this is what the MSP430 does but it seems to be something that the underlying Energia code is doing because the C code does not make this happen. I altered the Blink source file in CCS to make the 2 onboard LEDs toggle back and forth. When the board is powered up running that code, both outputs don't go high. The LEDs just start to toggle back & forth as programmed. Has anyone else dealt with this? I really can't have all the outputs turn on at the same time with my project. Is there a way to write the Energia sketch to avoid this or do I have to learn how write my code in C? I hope you can excuse my ignorance. I just started trying to program a week ago. I took it up to make this one project when I decided it was going to be a little too complicated to build with discrete components. I really appreciate any help/advise.
  24. Hello everyone. I'm a beginner and doing some project with the MSP430 2553. I connected the MMA7455 and used different libraries to get some data, but I'm doing something wrong. Perhaps I use the wrong ports, or the wrong configuration, or I don't know what I'm missing. With the libraries I get to show text in the terminal, but the values are always 0. I would be grateful if someone could help me out, I'm for days on this problem. SCL -> 1.6 SDA -> 1.7 Libraries I used: https://playground.arduino.cc/Main/MMA7455 https://arduino-info.wikispaces.com/accelerometer-MMA7455 Attached is the doc. MMA7455L.pdf
  25. I was trying to port a sketch that used the Serial port with non standard UART parity and character length to Energia. I noticed that the UART port isn't setup to handle anything except 8-N-1. While the code below can't do all the combinations that are available to the atmega, it can do 7/8 bit, even/odd parity and 1/2 stop bits. I created a patch that will at least fix it for the chip I am using (msp430g2553). It will need some work for other chips. Apply the attached patch to the source of the latest Energia source tree. (as of 11/11/2015) -rick (See new optional second parameter https://www.arduino.cc/en/Serial/Begin ) parity.patch
  • Create New...