Quantcast
Channel: MSP low-power microcontroller forum - Recent Threads
Viewing all 21949 articles
Browse latest View live

RTOS/MSP432E401Y: How to add NDK to ROV?

$
0
0

Part Number:MSP432E401Y

Tool/software: TI-RTOS

We have seen that NDK UDP and TCP statistics can be viewed through ROV for the MSP432E tcpecho example, however we are not able to get this functionality with any other project. How does one enable the ROV to show this NDK related info?

Thanks


MSP430F6779A: Flash Bank Erase and Write operations - CPU is held, what does that mean?

$
0
0

Part Number:MSP430F6779A

Hi,

As per slau208q.pdf user guide, the 'CPU is held' for any segment erase until the erase cycle completes.

What exactly does the cpu is held here means, is the CPU going to miss all the interrupts that occur during this time.

What happens if an interrupt occurs more than once during the cpu held time?

What if I've the interrupt vectors in RAM and ISRs in RAM, but I initiate the erase from flash?

Same question as above for writes (byte, word, long-word and long-word block) - cpu is held while write completes ( section 7.3.2.1) of slau208q.pdf.

Does this apply for all kind of writes?

What exactly does the cpu is held here means, is the CPU going to miss all the interrupts that occur during this time.

What happens if an interrupt occurs more than once during the cpu held time?

What if I've the interrupt vectors in RAM and ISRs in RAM, but I initiate the erase from flash?

The salu28q document section 7.3.1.4 talks about cpu being held only for segment erase, is the cpu held during a bank erase as well?

Best Regards

Santosh Athuru

MSP430-GCC-OPENSOURCE: Compiler Option '-minrt' and unnecessary Function Prologue of 'main()'

$
0
0

Part Number:MSP430-GCC-OPENSOURCE

Hello,

When I compile with option '-minrt' and '-Os', gcc generates unnecessary function prologue for 'main():'

; start of prologue
 PUSH R10  ;
.LCFI2:
 PUSH R9  ;
.LCFI3:
 ; end of prologue

Since no runtime routine code is needed, PUSH R9 and R10 wastes 4 bytes of flash!

(mspdebug) dis main
main:
    0c360: 0a 12                     PUSH    R10
    0c362: 09 12                     PUSH    R9

EVM430-FR6043: calibration

$
0
0

Part Number:EVM430-FR6043

Hi:

I tested 10 points.
How can I fill in the calibration?

After being divided into 10 ranges, the mcu is written, and when read out, only 3 ranges are found.

Obviously the configuration is wrong, please help me.

EVM430-FR6043: VOL IN LITERS always shows 0

CCS/MSP430FR2422: a further Problem to solve my I2C Problem

$
0
0

Part Number:MSP430FR2422

Tool/software: Code Composer Studio

Hello...,

Since I find no solution with the MSP430F2012 to realize a functional I2C slave, I used another MSP430 (MSP430FR2422). The MSP4302F422 has better I2C features in my opinion.
Unfortunately I got other problems with this device.

If I program the ports 1.0 .. 1.7 as outputs, the  outputs 1.0..1.3. are no longer present after a power off / on. It seems like they have become analog inputs. The outputs are only available, if I do the following:

1) erase the memory of the MSP430FR2422 with the program "Elprotronic"
2) reprogram the Device.

Then, after a power off / on, the outputs are again no longer available.
I can repeat this procedure multiple times.
Always after a power off/on the outputs 1.0 .. 1.3. are no longer available.
my assembler I have testet tis at CSS:
;-------------------------------------------------------------------------------
; MSP430 Assembler Code Template for use with TI Code Composer Studio
;
;
;-------------------------------------------------------------------------------
            .cdecls C,LIST,"msp430.h"       ; Include device header file
            
;-------------------------------------------------------------------------------
            .def    RESET                   ; Export program entry-point to
                                            ; make it known to linker.
;-------------------------------------------------------------------------------
            .text                           ; Assemble into program memory.
            .retain                         ; Override ELF conditional linking
                                            ; and retain current section.
            .retainrefs                     ; And retain any sections that have
                                            ; references to current section.

;-------------------------------------------------------------------------------
RESET       mov.w   #__STACK_END,SP         ; Initialize stackpointer
StopWDT     mov.w   #WDTPW|WDTHOLD,&WDTCTL  ; Stop watchdog timer

            mov.b    #0xff,&P1DIR
repeat
            mov.b    #0xff,&P1OUT
            call    #delay
            mov.b    #0,&P1OUT
            call    #delay
            jmp        repeat

            nop

delay
            mov        #10,R11
repeat1        clr        r12
dekrem        dec        r12
            jnz        dekrem
            dec        r11
            jnz        repeat1
            ret
regards Jurgen

MSP430G2210: Check about the single-wire PCB Trace length for MSP430V334

$
0
0

Part Number:MSP430G2210

The question is about MSP430V334, it is a I2C to single-wire translator. Detail information on SLAS771.

The single-wire Trace length is 13000mil on PCB board. Is it OK?

MSP430F5529: MSP430F5529

$
0
0

Part Number:MSP430F5529

Hi,

I am a part of undergraduate student satellite building Team, Team Anant. We are using the MSP430F5529 as the microcontroller for our Electrical Power System. I was writing a code to interface a current sensor (TI's INA219) with the MCU. While transmitting multiple bytes to the INA219, I have used the polling methodology, where the code waits for the TXIFG to be set before loading new data into the TX BUFFER. 

The problem I am having is that the TXIFG is never set and hence my code gets stuck in the while loop. I am having this problem despite enabling and clearing the transmit interrupt. I have attached a snippet of the code below. Any solutions?

 


MSP432E411Y: MSP432E4 & SSL/TLS

$
0
0

Part Number:MSP432E411Y

Hi,

In my projects I use CC32xx devices where is SSL/TLS stack integrated inside NWP. But I have a project with wired Ethernet. In this case looks MSP432E4 promising due to integrated Ethernet PHY. Secured sockets SSL/TLS (TLS 1.2 or TLS 1.3) are one of mandatory features.

Does TI provide own SSL stack or is mandatory to use 3rd party stack? Are examples of SSL usage available? There is many 3rd party SSL stacks, but how it looks with MSP432E4 integration? Some SSL stacks like a wolfSSL are not achievable due to high price, but some like emSSL, TLS stack from HCC looks have reasonable price. Finally is here mbed TLS but I am not sure about Apache license compatibility.

Thank you for any comment or link to proper documentation.

BTW ... it is possible to get privately route map of MSP432 devices with Ethernet PHY (I think ours NDA was updated to cover MCUs as well)?

Jan

CCS/MSP432P4111: MSP432 and I2S

$
0
0

Part Number:MSP432P4111

Tool/software: Code Composer Studio

Hi,

I'm asking the same question as some others asked before.

But now some years later, maybe TI has a new way/workaround to communicate with I2S?

I am using this msp432 and now I want to get Data from an audio ADC or Codec.

Thanks

Compiler/MSP430F4152: LCDPx library init

MSP432P401R: I2C with LSM303DLHC

$
0
0

Part Number:MSP432P401R

Hello,

I'm very new to using I2C protocol, and I was hoping for some help using it to get a digital compass/magnetometer (LSM303DLHC) working with my MSP432 board. I'm using the driverlib library currently. Based on the spec sheet that I found for this compass, I am supposed to follow the following protocol:

From what I've gathered so far, here's what I've done in my code:

#include "msp.h"
#include "driverlib.h"
#include "stdio.h"
#include "stdbool.h"


const eUSCI_I2C_MasterConfig i2cConfig =
{
        EUSCI_B_I2C_CLOCKSOURCE_SMCLK, // SMCLK Clock Source
        3000000, // SMCLK = 3MHz
        EUSCI_B_I2C_SET_DATA_RATE_100KBPS, // Desired I2C Clock of 100khz
        0, // No byte counter threshold
        EUSCI_B_I2C_NO_AUTO_STOP // No Autostop
};

/**
 * main.c
 */
void main(void)
{
	WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD;		// stop watchdog timer

	// Set DCO frequency and using the sub-systems master clock source:
    unsigned int dcoFrequency = 3E+6;
    CS_setDCOFrequency(dcoFrequency);
    CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1);

	//initialization
	I2C_initMaster(EUSCI_B1_BASE, &i2cConfig);
	I2C_enableModule(EUSCI_B1_BASE);
	I2C_setSlaveAddress(EUSCI_B1_BASE, 0x1E);
	I2C_setMode(EUSCI_B1_BASE, EUSCI_B_I2C_TRANSMIT_MODE);

	// After the START condition (ST) a slave address is sent
	I2C_masterSendStart(EUSCI_B1_BASE);
	bool result = I2C_masterSendSingleByteWithTimeout(EUSCI_B1_BASE, 0x3C,1000);
	if(result){
	    printf("send Byte worked!");
	}

In the above code, I verified 0x1E as the address of the slave device through Arduino. I'm most confused by "masterSendStart" and "masterSendSingleByteWithTimeout". In order to recreate the protocol from the spec sheet, I tried sending the "Start" command first. Then, I tried sending the SAD+W command. I found 0x3C from a related compass' spec sheet. 

I was expecting masterSendSingleByteWithTimeout to return "true", indicating the acknowledgement from the compass, but I have not seen that yet and am not convinced that I'm using this function properly. Once I can get this working, I was planning on moving on to implementing the rest of the protocol to read from the magnetometer.

Regarding my hardware setup, I've got an external 3.3V power supply powering the compass (common ground with the MSP). The SDA pin on the compass is going to Port6,Pin4. The SCL pin goes to Port6,Pin5.

CCS/MSP430FR4133: MSP430 Driver Download and Availability of pinmux for MSP430fr4133

$
0
0

Part Number:MSP430FR4133

Tool/software: Code Composer Studio

Hi,

I tried downloading drivers for MSP430FR4133.
After signing in with TI account, the download didn't start. i also got mail from TI with the link to download the drivers. Using that also it is not working.
I am also trying to find pinmux for MSP40FR4133 Evaluation board. Where can I get that?
Kindly help. 
I got the following error when I tried to download.

Compiler/MSP-EXP430FR2355: MSP430FR2355 problem to connect with nRF24L01+ (ENERGIA)

$
0
0

Part Number:MSP-EXP430FR2355

Tool/software: TI C/C++ Compiler

Hi,

I recently bought a MSP-EXP430FR2355 launch pad to build a Weather station with NRF24L01+ so i have used a specific library Enrf24.h for ENERGIA.
The code for below already works with my MSP-EXP430FR2433 but not with my new MSP-EXP430FR2355.

I can't use the MSP430FR2433 beacause it doesn't have enough memory for me to add my temperature sensor BME280 with all code required by the sensor...
On the other side i can receive the information ON and OFF with a Raspberry Pi send by the FR2433 but not with my FR2355.

#include <SPI.h>
#include <Enrf24.h>
#include <nRF24L01.h>
#include <string.h>

//Enrf24 radio(P1_7, P2_2, P3_2);  //WIRING MSP430FR2433 P1.7=CE, P2.2=CSN, P3.2=IRQ -> MOSI P2.6, MISO P2.5, SCK P2.4

Enrf24 radio(P5_4, P5_0, P5_1);  //WIRING MSP430FR2355 P2.0=CE, P2.1=CSN, P2.2=IRQ -> MOSI P1.6, MISO P1.7, SCK P1.5

const uint8_t txaddr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0x01 };

const char *str_on = "ON65";
const char *str_off = "OFF65";

void setup() {
  Serial.begin(9600);
  Serial.println("RED10");
  
  SPI.begin();
  SPI.setDataMode(SPI_MODE0);
  SPI.setBitOrder(1); // MSB-first

  radio.begin( 1000000, 76 );   
  radio.setCRC( 1, 1 );  
  //radio.begin();  // Defaults 1Mbps, channel 0, max TX power
  radio.setSpeed(250000);
  
  radio.setTXaddress((void*)txaddr);
 // Serial.println("RED10");

  Serial.print("STATE: ");
  Serial.println(radio.radioState());

  Serial.print("SPEED: ");
  Serial.println(radio.getSpeed());
}

void loop() {

  Serial.println("ON_1");
  radio.print(str_on);
  radio.flush();  // Force transmit (don't wait for any more data)
  
  delay(1000);
  Serial.println("OFF_1");
  radio.print(str_off);
  radio.flush();  //
  
  delay(1000);
  //Serial.println("GREEN");
}

With the MSP430FR2433 STATE: 1 and SPEED: 250000 which is logic

With the MSP430FR2355 STATE: 0 and SPEED: 1000000


The code stops when we entrer the loop and display only ON_1 and stops, i thinks it's the SPI but it can be the library itself

Thanks for your help !

MSP430F5419A: How can I interface Chan's or other low profile fatfs to communicate SD HC microSD Cards with MSP

$
0
0

Part Number:MSP430F5419A

Hi All:

I have recently interfaced a 2 GB MicroSD Card non HC type using theUSCIB3 IN SPI MODE 100-400KHZ. It worked perfectly. Here are the links to download the source codes. However, with the limited resources from the internet and with TI's slaa281c.pdf, I have succeeded a lot. But the problem remains that the HC or XC cards just wont initialize. Moreover, I would like to get some help from the community members as to how to make a complete project, simple one using fatfs and a SD XC Card to write a simple data an read it back and also view it in the PC (since it will support fatfs). I just request the basic structure. Remaining developments I will do it my self.

 

Please help


potential issue with msp430-gcc-support-files-1.206

$
0
0

The legacy.h file uses __MSP430FR2XX_FR4XX_FAMILY__ as a conditional to define DCOFTRIM values. The conditional is normally spelled __MSP430FR2XX_4XX_FAMILY__ so this might be a mistake.

MSP430F2013: SD16 offset changing with MCLK Clock

$
0
0

Part Number:MSP430F2013

Hi,

I'm doing some tests and noted a behavior on the SD16 ADC os MSP430F2013.

I started some test configuring the internal clock to 1MHz, when I changed the cock to 16MHz (or even 8MHz) the offset increased (measured using the CH7 with internal short).

Is it normal behavior?

Thanks

CCS/MSP430FR2111: MSP430FR2111 ecomp interrupt comes too soon

$
0
0

Part Number:MSP430FR2111

Tool/software: Code Composer Studio

I have a few questions here about ecomp interrupt,as the issue say, when ecomp interrupt(rising or falling edge) happens, it takes about 40 us  from Lpm3 mode to interrupt isr, if in this 40us another ecomp interrupt happened, will this interrupt being captured? if this interrupt can be captured, will the interrupt flag being changed in this 40 us.(such as the waveform below)

MSP430F6721: What could go wrong when interfacing with Arm M0 MCUs via UART?

$
0
0

Part Number:MSP430F6721

Hi,

We have two systems (A & B) that communicate with each other via UART. System A is built around MSP430F6721, system B is built around either MSP430FR2532 or Arm M0+ MCUs from NXP/STM32. MSP430FR2532 based system B works perfectly fine with system A. However, Arm M0 based System B somehow doesn't work well. After varying amount of time, from days to weeks, some System B will seem to become non-responsive. Power cycle system B doesn't make it responsive again. But power cycle System A does the trick. RXD, TXD, RTS and CTS pins are all used to interface system A & B.

What could go wrong in such setup? As a temporal solution, we could reset system A if system B becomes non-responsive, hopefully that will work. but it is still nice to know the underline causes.

Thanks in advance.

Zhiyong

MSP432P401R: Speech recognition example location

$
0
0

Part Number:MSP432P401R

I am trying to create a project using the msp432's speech recognition capabilities. I have downloaded the speech recognition library. My only problem is that I do not see the example code that is supposed to come with it. If anyone knows where I can find an example program that uses the speech recognition, it would be very helpful. 

Viewing all 21949 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>