Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


NurseBob last won the day on December 7 2017

NurseBob had the most liked content!

1 Follower

About NurseBob

  • Rank
    Level 2
  • Birthday 09/09/1950

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
    St. Helena, CA

Recent Profile Visitors

1,301 profile views
  1. MSP432P401R LaunchPad Black EEPROM

    Which EEPROM? What comms protocol? I2C? SPI? Serial? Microwire? UNI/O? 1-Wire? Parallel Bus? Start with the EEPROM's comm specs and see what protocol is the best match for the '432, then google...
  2. You might take a look at Adafruit's info. Though discontinued, they do have sample code you may be able to bend to your needs. I have leveraged their example code in the past for a capacitive touch graphical LCD and MSP430F5529 (both launchpad and custom designed boards).
  3. SPI1 on MSP430F5529

    SPI can be accessed on the '5529 launchpad on either pins P4.1-MOSI and P4.2-MISO or P3.0-MOSI and P3.1-MISO. I used either in CCS depending on needs, have never tried in Energia.
  4. > Very Sad... now i only can use 6 ADC pin out of 8 So, the 'G2 is the only option? I assume you're aware there are 500+ '430 variants? If your budget is limited, you may want to look at the '5529 launchpad; you can have all 8 ADC channels (with a 12-bit adc), the UART, SPI, I2C and significantly more flash and ram for about $2.00 more... Oh, and USB capabiltiy too.
  5. I suspect the short answer to "simultaneously" is no. And, I also suspect challenging, if at all possible to use for both comm and adc. However, you could use the UART on P1.1 and P1.2 (3 & 4) for comm, then take your analog ADC readings on P1.4 and/or P1.5 (6 & 7). Working with the msp430 devices will be easier to ask questions about if you adopt their (TI's) naming convention since the pins are generally multiplexed and can have several functions.
  6. Total Noob With Interrupt Problems

    BTW - you will likely see that the LED toggles from off->on, or on->off. Switches exhibit bounce, so High->Low, Lo->High happens many many times with each button press.
  7. Total Noob With Interrupt Problems

    Well, you've never turned on the power to the switch... so to speak. Also, you'll want to enable the internal resistor on BIT3 The following seems to work ok for me. And, since you're using CCS, take a look at the port registers in the debugger; it's really a useful resource to see if what you did is what you intended. include <msp430.h> #define LED1 BIT0 int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer BCSCTL1 = CALBC1_1MHZ; //Set DCO to 1Mhz DCOCTL = CALDCO_1MHZ; P1OUT |= (LED1 + BIT3); //set both bit0 and bit3 P1DIR |= LED1; //as output P1REN = BIT3; // enable the pull up resistor P1IES |= BIT3; // high -> low is selected with IESx = 1. P1IFG &= ~BIT3; // To prevent an immediate interrupt, clear the flag for // P1.3 before enabling the interrupt. P1IE |= BIT3; // Enable interrupts for P1.3 __enable_interrupt(); P1OUT |= LED1 ; //Initially the led will glow while(1) { __no_operation(); //handy for debugger } } #pragma vector = PORT1_VECTOR //PORT1 interrupt vector name __interrupt void P1_ISR(void) { __no_operation(); P1OUT ^= LED1 ; P1IFG &= ~BIT3; // clear the interrupt flag }
  8. Nrf24l01 communication from MSP430 to Arduino

    Google is your friend... Try here, for example
  9. Nrf24l01 communication from MSP430 to Arduino

    >Also which of MOSI or MISO should be used for one direction communication ? MOSI = MASTER OUT SLAVE IN (frequently seen as SIMO) MISO = MASTER IN SLAVE OUT (again, often seen as SOMI)
  10. Setting up timers/ccr MSP430G2152

    > I'm assuming that the clock source is the internal low frequency oscillator More likely it's running off the main clock. The low frequency oscillator is not being called or set up, and is not the default. Also, in the ISR the cpu is running off the main clock - so the main or submain clock is more likely. I'm assuming you are compiling and running under CCS or IAR? In which case you can put a __no_operation() call in the ISR to see which clock is configured/enabled by inspecting the clock registers. You can also bring out all the various clocks to the designated port pins and put an oscilloscope to see who's running. Agreed, the manuals are not an easy resource for where you are. Howevr, there are numerous code examples (including TI's) on detecting switches and configuring as well as handling clock interrupts. Don't despair - there are lots of resources, all free, out there to let you dive into the code and figure it all out.
  11. Setting up timers/ccr MSP430G2152

    Hi @Cloudberry, Well, based on a quick review of the code it appears that the Port1_ISR (based on a button press) starts a timer, and then based on the Case statement, enters a wait state: while (!(P1IN & BIT1) && !(TA0CCTL0 & CCIFG)) until the timer interrupt is triggered. From an MSP430 programming style perspective, this is not a good coding practice for a few reasons. 1) ISRs should be as short as possible, since there may be other interrupts pending. So, get in, set a flag (often) get out and in the main routine evaluate and process flag states. 2) This is NOT a well designed interrupt-driven program with the incorporated wait states. 3) The ISR runs the CPU to execute its code, and is therefor a power draw - shortens battery life. 4) __delay_cycles is clock dependent, thus not a safe means of waiting for a defined time. You will need to read the docs regarding TA0 - There appears to be virtually no configuration of the timer, so what ever its defalts are??? It's running in Up mode and rolling over (probably at FFFF counts - and time to execute counts is dependent on the selected clock source, could be cpu - running at what?) to generate an interrupt. How long does that take? Without configuring the timer, good question... While it's not often popular advice, time to RTFM on timers and clocks for the SPECIFIC '430 you are using. HTH
  12. > No, 5529 is not 16-bit device. I stand corrected. Though there still no way to store a 64-bit value in a single register, as the OP seemed to desire. FWIW, When I look at TI's marketing for the device: "16-Bit Ultra-Low-Power Microcontroller"
  13. First I don't use a Mac, so I'm ignorant... But a quick Google of the term "MSpanList_Insert" seems to point to a Mac OS version or configuration related issue. I'm guessing it's not specific to the MSP430F5529 you're working with. Sorry I can't help more, but it looks like Google might be your friend here...
  14. The '5529 is a 16-bit device, with 16-bit registers, so it's not possible to use a single register to store a 64-bit value. Perhaps storing the address of the 64-bit value? But I don't see any real rationale for doing that... Others, far smarter than I, may offer better suggestions.
  15. Msp430 software serial error

    Use the hardware serial to communicate, not software serial. As dubnet noted, post your code.