Search the Community

Showing results for tags 'msp430fr5969'.



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.


Found 24 results

  1. I am storing data in program memory using PROGMEM, and reading it using pgm_read_byte() and pgm_read_word(), to save RAM. However, the compiler gives warnings: In function 'int lookupnumber(int)': warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] I've read that it's not good practice to ignore these warnings, but I can't see how to eliminate them. A demonstration program is: const int numbers[] PROGMEM = { 2, 3, 5, 7, 11, 13, 17, 23 }; int lookupnumber (int i) { return pgm_read_word(&numbers[i]); } void setup() { Serial.begin(9600); } void loop() { Serial.println(lookupnumber(4)); for (;;); } Thank you.
  2. I am trying to set up a watchdog timer on the MSP430F5529 LaunchPad, and I can't seem to get it to work. My code is: void watchdogenable (int interval) { WDTCTL = WDTPW | WDTCNTCL | interval; } void watchdogreset () { WDTCTL = WDTPW | WDTCNTCL | (WDTCTL & 0x07); } void setup() { Serial.begin(9600); Serial.println("Start"); watchdogenable(1); } int count = 0; void loop() { Serial.println(count++); delay(1000); } It prints: Start 0 and then gets no further before being reset by the watchdog 8 seconds later. I would expect it to count up to 8. If I take out the delay() statement it seems to work properly. Any suggestions?
  3. My compact Lisp interpreter, uLisp, now supports the MSP430F5529 and MSP430FR5969 LaunchPads. As well as supporting a core set of Lisp functions, uLisp includes Arduino/Energia extensions, making it ideal as a control language for the MSP430. For more information see http://www.ulisp.com/.
  4. Hi, I'm interested in energy harvesting applications with the FR5969. I've noticed there's quite a delay before the code runs, probably 500mS or more. This is just testing with a simple piece of code that turns on the LED. Launchpad supplied direct from a power supply and all jumpers removed. Is there some boot-up routine or something going on that is automatically programmed that I'm not aware of, or something else? Obviously this is quite a significant delay for these type of applications, as all the energy is being exhausted in starting the thing up. Any ideas/experiences would be great. I'm using Energia 17 and MSP430FR5969 Launchpad. Cheers.
  5. I have been working with the fr5969 and have migrated it over to a bare metal msp430fr5969 soldered onto a board. And have some questions. 1. I have loaded a sketch which uploaded ok but the program doesn't seam to start, am I missing something. 2. Low power modes , if I use RTC_B the program the power is aroun 400nA and the program is still running but if I use LPM3 and stop the watchdog timer power is 25uA and if the program starts it can us upto 23mA , can someone shed some light on this and is the RTC_B with Interrupt the rigth way to go for low power application. 3. Do all vcc/vss need connecting to the power supply to get the I/O to work. Thanks for any help.
  6. Just a quick question - probably obvious but I wanna make sure before I order some boards. If I was using a FR5969 Launchpad as an ISP to program some FR5949 chips - will the hardware I2C pins 1.6 and 1.7 and the software defined I2C pins 3.5 and 3.6 still work even though they are at different physical locations on the chips? My breadboard prototype version uses I2C on either set of I2C lines and works fine, but with a FR5969 and not the FR5949. When programming another chip in a series does the pin map need to be defined in the energia_pins.h file for the FR5969? Thanks!
  7. Hello everyone, I have trouble with i2c on FR5969 launchpad. I wanted to interface a BMP180. As it didn't work, I tested my module on my TivaC launchpad and Arduino and it was OK. So I connected my oscilloscope and my logic analyzer on pin P1.6 and P1.7 and there was strictly no activity ... Searching on the internet I couldn't find any person using i2c on this launchpad, so has anyone tried to play with i2c on it ? Problem detected on Energia v15, v14 doesn't work too. I looked at pins_energia.h, it seems ok ...
  8. All, I have a gps device that outputs several other sensor readings (wind, heading, ect.). All of those strings are output in NMEA format strings. I am able to read these strings and also (with the TinyGPS library) I can parse them to pull what I need. Now the problem, I want to be able to send NMEA strings back at the device in order to tell it to output different NMEA string types. For example, sending "$PAMTC,EN,HDG" should enable the "$HCHDG" string on the device. Or sending "#PAMTC,QV" should query the software version number. My code to read from the device is: Code: [Select] void setup() { // put your setup code here, to run once: Serial.begin(4800); Serial1.begin(4800); } void loop() { // put your main code here, to run repeatedly: char c; c = Serial1.read(); Serial.print
  9. Hi All, I've successfully implemented the GFDS18B20 library (for the Maxim DS1820B) and the RTC_B library (for the MSP430FR5969's Real-Time Clock) in a way that allows me to wake up from LPM3.5 every time the alarm goes off, take temperature readings, print them out with a time stamp, and go back to sleep. However, for some reason, no matter which sensor I use or how hot/cold it is, the last sensor in my array/on the one-wire prints out a temperature reading of "0.-6" degrees Celsius (yes, it looks just like that). If anyone could help me figure this out, I'd really appreciate it. I'm new to this and have been hitting my head against the keyboard for days. I've attached the libraries I'm using and the program I wrote. Thank You, John Energia.zip
  10. Hi Guys, My name is Nathan. I've lurked around here on 43oh a bit, but this is my first official post. I've been working with the MSP430FR5969 for several months now and I've quickly grown to really like it. It seems to me TI's FRAM processors should really be getting more exposure for battery powered development in both professional and maker communities. To that end - I was hoping to get some feedback on a product idea. We've packaged the FR5969 into a tiny coin-cell powered module. The module can operate as a stand-alone processor or it can plug into an UNO-form-factor breakout board with an eZ-FET lite programmer, allowing you to program it with CCS or Energia. We're waiting on the first PCB's to debug the base product right now, but the goal would eventually be to offer with with a handful of matching small daughter-boards to add WiFi, BTLE and either the Sharp LS013B4DN04 hybrid screen or an e-ink display - all except the WiFi would be powered directly by the coin cell (WiFi would require a couple AAA's). It might make sense to have a few sensor boards too depending on interest level (humidity/temp, compass, GPS, accel, gyro, prox, etc.) Does that make sense? Any thoughts? Is this a product you think people would be interested in? It doesn't seem like anyone is offering really well-packaged small, ULP, battery powered MCU modules, especially with Arduino code compatibility and this would fill a good niche (certainly one I have some uses for anyway). Anyway - I'd appreciate any feedback or suggestions. Thanks. NC
  11. I am using an MSP430fr5969. The board only has one hardware pwm available and it located on P1.2. For my application, I need to generate two different pwm signals to control two different motors. One of those is a servo, the other is a linear actuator but it is controlled through a motor speed controller that uses a pwm input (replicating that of an RC receiver). Can I use the servo library and attach a servo to any pin or does that pin have to have hardware pwm? I looked through the Servo.cpp file and it seems to be doing software serial. When i run servo examples, and hook the pin up to an oscilloscope I do not get nice square waves being generated as an output. Currently I am using pin 9, the defualt for the servo libraries. Thanks, Nolan
  12. I am looking to run two motors via motor controllers that require pwm signals. I have learned how hardware and software pwm work. I also have learned what would be required to create a software pwm with a chip timer and clock in CCS. I am still however confused on whether this is required in energia and how I can tell what pins i am able to use. Using a MSP430fr5969: Can i simply use the analogwrite() function on a pin that allows for it to be used according to the pin map http://energia.nu/wordpress/wp-content/uploads/2014/10/LaunchPad-with-MSP430FR5969.jpg ? Does the analogwrite function only work on the pins that have hardware pwm capability or is it a software pwm function? Could I for example use pins P1_4 and P1_3 to send a pwm to signal to the motor controllers? Does the same apply when reading pwm signals? -Nolan
  13. HI, I have a MSP430fr5969 Board. I have written several program successfully to the board with Energia and have V2.0 or higher. On a random upload, I received an error message "FET firmware update is required", "Re-run with --allow-fw-update to preform a firmware update.", tilib: device initialization failed." A separate window also appears saying: "The firmware of your launchpad programmer needs an update. You will need to update......"tools" menu." When I use the Update Programmer button from the "Tools" tab, it fails to update the programmer on some occasions. On others it is successful and flashes the green and red LED after completion. After a successful update the upload of a program to the board still fails. Any Ideas.? This problem originated when trying to run a "Servo Sweep" example, but now occurs even with a simple "Blink LED."
  14. Sorry to bother if I'm missing something obvious in the documentation - but there's something I can't seem to figure out. I'm migrating a simple datalogger that uses an ATTiny24a, BMP180, and an external EEPROM to (hopefully!) take advantage of the power savings and FRAM on the MSP430FR5969. I've attached a sample of my code by I can't seem to find anywhere similar functions to EEPROM.read and EEPROM.write. All I've managed to find is FRAM_write<enter # of bits here> in the fram.c in the DriverLib library. Basically all I'm trying to do is log data to the FRAM at a specified interval, then after a certain number of datalogging events read it back out and convert to on-off keying. Each datalogger has it's own unqiue ID. At a later time I want to look into the different lower power modes on the MSP430, but first things first. Again, I apologize if I'm overlooking something quite simple.
  15. Hi all I am new to TI environment, before this all of my projects were based on Arduino. I have developed one circuit with 5969 launchpad its working fine. Now I want to make it my own custom pcb for my application. I wanted to know by keeping two test pins for Spy Bi Wire on my pcb can I program my micro controller with help of my launch pad? And/Or which is best practice for ISP programming MSP430 micro controllers?
  16. Hi all, i am new to msp430 using launchpad msp430fr5969. i need list of registers available in mentioned msp430 for programming like how we do in MPlab. i have data sheet but it doesnot discussed about the registers avail. Also i need ccs c programming tutorial for MSP430fr5969 pls recommend me suitable tutorial or basic programming link Thanks PON
  17. Hi all, i am new to msp430 using launchpad msp430fr5969. i need list of registers available in mentioned msp430 for programming like how we do in MPlab. i have data sheet but it doesnot discussed about the registers avail. Also i need ccs c programming tutorial for MSP430fr5969 pls recommend me suitable tutorial or basic programming link Thanks PON
  18. Hello All! This is my first post on this forum. So kindly excuse me if i do any faux pas! I am planning to shift to MSP430 after using arduino for long time. I have written a small code to read ADC value and when i press a button adc value gets stored in a variable. Now want I want is to make available this value even after microcontroller restarts. Can anyone tell me how to store variable in Non volatile FRAM? I am using MSP430FR5969 launchpad. I have looked into following examples but they are of not helping me. I am using Energia to program my launchpad. http://forum.43oh.com/topic/4148-reduce-startup-time-on-msp430fr5739/ http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/258443 http://processors.wiki.ti.com/index.php/Creating_MSP430_FRAM_Variables_Using_CCS#Example_Test_Code
  19. Using the FRAM as though it were RAM on the msp430fr59xx chips can make it really easy to drive those ws281x chips even at a relatively slow MCU clock rate. The ws281x chips are great because you can get a boat load of leds for the cost of only one pin. Also, it doesn't hurt the price of these ws281x chips keeps falling and making them more and more attractive. I decided to see if I could take advantage of FRAM to help me drive some of those leds. I ended up with an extremely simple driver routine that works great even when you clock the FRAM MCU @ 6MHz. You couldn't really do this on a RAM limited msp430 chip as you would quickly run out of memory. ... I configured the FRAM chip for 6MHz and then configured the SPI to use a clock divisor of 1 the MOSI is selected for output and is wired to ws281x DIN pin. ... static const uint8_t frame_buffer[60*3*8] = {0}; /* provide an FRAM buffer for a strip of 60 leds */ /* * inline msp430-elf-gcc asm version */ void sendRGB(uint8_t * led_data, unsigned led_data_len) { const uint8_t *led_data_end = led_data+led_data_len; uint8_t *dest = const_cast<uint8_t *>(&frame_buffer[0]); uint8_t *frame = dest; do { unsigned color = *led_data++; register unsigned colormask = 0x80; do { *dest++ = (color & colormask) ? 0x78 : 0x60; colormask = colormask >> 1; } while (colormask); } while (led_data < led_data_end); // shift out bits in MSB order without much delay __asm__ __volatile__ ( "1:\n" " mov.b @%[led_data]+, %[TXBUF] ; 5 cycles\n" " jmp .+2 ; 2 cycles\n" " cmp %[led_data_end], %[led_data] ; 4 cycle\n" " jl 1b ; 2 cycles\n" :[led_data] "+&r" (frame) ,[led_data_end] "+r" (dest) :[TXBUF] "m" (UCB0TXBUF) : "cc" ); In the code above, I provided a function that expects an array of RGB data (well GRB data actually ) and I I looped through it and setup the FRAM buffer with proper SPI bits for ~333ns/~666ns and with a period of ~1500 ns. The wave it spews out looks really pretty on my scope. Best of all, the ws281x chips seem to like it. I encountered one wierd anomaly of the eUSCI periperal. It seems that if the high bit of the last thing you sent is high, then the MOSI pin floats high instead of leaving the value at the last bit set. This is why I'm using 0x78 (0b01111000) and 0x60 (0b01100000) instead if 0xF0 and 0xC0. I wasted a bunch of time trying to find out why my code wasn't working on that one. I never did find a tech note or errata about it. If you are using the SPI device as a normal SPI device instead of a shift register, it wouldn't matter. -rick
  20. Hi all, I've been lurking for a while but I finally joined up! I recently received the MSP430FR5969 FRAM Launchpad with EnergyTrace, and I'm trying to upload code to it with OS X 10.9.4 and mspdebug. I am successfully able to upload code to the standard Launchpad with the MSP430G2553 but I cannot upload to the FRAM Launchpad. Looking at this makes me think that a work around has not been found yet, is this true? Or has someone gotten the new FRAM Launchpads working with OS X? Thanks in advance for any help!
  21. Hi, i'm using MSP430FR5969 launchpad evaluation kit. While running the debugger,IAR gave me this error message: "Security fuse blown" Now i can't program the MSP anymore. Is there anyway to recover the MSP430fr5969? (maybe with the help of the evaluation kit board?) P.s. in my code , my intent isn't to blow the security code, the only things i'm doing is to write some datas in memory. Thanks in advance for your kind reply Regards Irene
  22. Hello, I have the MSP-EXP430FR5969 Wolverine Launchpad (Rev 1.6) and I'm trying to read the voltage output of a LM35 temperature sensor. I went on and used adafruit's code and adapted it to the launchpad. However, I'm not getting the correct voltage values. I verified the sensor is working as I used a multimeter to measure the voltage and it is working. Here's a snippet of the code static uint8_t analogInPin = A7 ; int sensorValue = 0; int voltage = 0; int temp = 0; . . . . . sensorValue = analogRead(analogInPin); voltage=sensorValue*(3600/1023.0); temp=(voltage-500)/10.0; // print the results to the serial monitor: Serial.print("Voltage = " ); Serial.print(voltage); Serial.print("mV \t"); Serial.print("Temp = "); Serial.print(temp); Serial.print("C \n"); All I'm getting in the serial monitor is 929mV 41 C , but the room temperature isn't 41C and the multimeter shows around 281.7mV I even tried changing pins and it still doesn't work. Did I just fry the board? Thanks a lot
  23. Hi, i would like to move data from ADC12MEM0 from its memory location to a choosen mamoery location by the means of DMA. the ADC is working correctly. Here it follows DMA configuration : __data16_write_addr((unsigned short) &DMA0SA,(unsigned long) ADC_MEM_0_ADDRESS); //SHOULD BE ADC12MEM0 // Source single address __data16_write_addr((unsigned short) &DMA0DA,(unsigned long) IMAGE_START_ADDRESS); // Destination single address DMACTL0 =DMA0TSEL_26; //DMA Trigger Assignments:26==ADC12 end of conversion DMA0SZ =12544; // Block size DMA0CTL = DMADT_4 | DMASRCINCR_0 | DMADSTINCR_3 | DMADSTBYTE |DMASRCBYTE; // Rpt, inc DMA0CTL |= DMAEN; // Enable DMA0 i expect the DMA to transfer 12544 byte at once, and at each ADCcycle i expect DMA0SZ to decrease of one unit. But looking at DMA0SZ durign the dug it seems like it doen't even decreases at any ADC cycle despite what it is written in the datasheet SLAU367b "DMAxSZ register decrements with each word or byte transfer." any tips on what i'm missing? thx in advance irene
  24. HI, i'm using MSP430FR5969. i would like to better understand how its 64KB memory is organized. From it's datasheet (http://www.ti.com/lit/ds/symlink/msp430fr5969.pdf - pg 23) : Memory (FRAM) Total Size 64KB interrupt vectors 00FFFFh