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

MSP430FR2633: Captive Proximity Sensor Adjusting Sensitivity with Software

$
0
0
Part Number: MSP430FR2633

I am prototyping an MVP using MSP430FR2633 as a proximity sensor. I didn't see anything about adjusting sensitivity with software in the datasheet and reference manual. I would greatly appreciate it if someone could give me some information or a link where I can read about that topic. 

Thanks.


MSP430FR5959: sequence conversion with adc triggered by timer

$
0
0
Part Number: MSP430FR5959

Hello, I would like to interrogate A0 to A2. The conversion should be started by a timer. I have used the following initialization:

  ADC12CTL0 = ADC12SHT0_0 | ADC12ON;// | ADC12MSC;
  ADC12CTL1 = ADC12SHS_1 | ADC12CONSEQ_1;
  ADC12CTL2 |= ADC12RES_2;
  ADC12IER0 |= ADC12IE2;
  ADC12MCTL0 |= ADC12INCH_0 | ADC12VRSEL_0;
  ADC12MCTL1 |= ADC12INCH_1 | ADC12VRSEL_0;
  ADC12MCTL2 |= ADC12INCH_2 | ADC12VRSEL_0 | ADC12EOS;
  ADC12CTL0 |= ADC12ENC | ADC12SC;         // Sampling and conversion start

  TA0CCR0 = 2048-1;                         // PWM Period
  TA0CCTL1 = OUTMOD_3;                      // TACCR1 set/reset
  TA0CCR1 = 2047;                           // TACCR1 PWM Duty Cycle
  TA0CTL = TASSEL__ACLK | MC__UP;           // ACLK, up mode
  __bis_SR_register(LPM3_bits + GIE);      // LPM0, ADC10_ISR will force exit

But unfortunately only the first conversion is performed. If you clear the interrupt flags in the interrupt routine of the ADC. If this is not done, the ADC converts constantly without retriggering by the timer. Can someone help there?

Best regards

MSP430FR5992: Low-Energy Accelerator (LEA) RAM allocation

$
0
0
Part Number: MSP430FR5992
Other Parts Discussed in Thread: MSP430FR5962,

Hi all,

We've moved from using the MSP430FR5962 to the MSP430FR5992. 

My code compiles on the 5962 with no issues. However I get a memory error when compiling on the 5992. 

The only difference between the 2 MCUs is the LEA, and the RAM that is allocated to the LEA.  4k of RAM is allocated to LEA.. 

Is there a way in the IDE (CCS 11) to tell the compiler, just use the LEA RAM as normal. Or any kind of workaround? 

The reason for the switch in MCUs due to supply chain, so we can't just go back to the original. 

MSP430FR5994: Linker including unwanted libraries (libc.a, for example.)

$
0
0
Part Number: MSP430FR5994

Question

Where can I find the page within the project's Properties (alt-Enter) that allows me to add or remove library files (of extension type *.a, for example) that will involve the use of the -l (dash-L) on the linker command line?

Currently, I get the following linker line in a build:

"C:/Users/Jon/Documents/ti/ccs1120/ccs/tools/compiler/ti-cgt-msp430_21.6.0.LTS/bin/cl430" -vmspx --code_model=small --data_model=small --use_hw_mpy=F5 --advice:power=all --advice:hw_config=all --define=__MSP430FR5994__ --define=_MPU_ENABLE -g --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 -z -m"FPTEST.map" --heap_size=0 --stack_size=0 --cinit_hold_wdt=on -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/ccs_base/msp430/include" -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/ccs_base/msp430/lib/5xx_6xx_FRxx" -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/ccs_base/msp430/lib/FR59xx" -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/tools/compiler/ti-cgt-msp430_21.6.0.LTS/lib" -i"C:/Users/Jon/Documents/ti/ccs1120/ccs/tools/compiler/ti-cgt-msp430_21.6.0.LTS/include" --priority --reread_libs --define=_MPU_ENABLE --diag_wrap=off --display_error_number --warn_sections --xml_link_info="FPTEST_linkInfo.xml" --entry_point=RESET --use_hw_mpy=F5 -o "FPTEST.out" "./main.obj" "../lnk_msp430fr5994.cmd"  -llibmpu_init.a -llibmath.a -llibc.a 

Note that at the end there is: -llibmpu_init.a -llibmath.a -llibc.a 

I don't need them, though. And I've not yet been able to locate the Property page where I can remove them.

Meanwhile, I have located the offending lines in a file called ".cproject". They are these:

<listOptionValue builtIn="false" value="libmpu_init.a"/><listOptionValue builtIn="false" value="libmath.a"/><listOptionValue builtIn="false" value="libc.a"/>

Listed within the XML there, within an option.

But I cannot seem to find them in the alt-Enter Properties so that I can delete them there.

It does work to simply edit the .cproject file and remove those options. This does get the job done.

But I'd like to know if there is a 'standard way' to do this, where I'm just failing to find it on my own.

Note: I do understand the linker doesn't necessarily haul library contents into my project just because the libraries are listed on the linker command line. My reason for wanting to remove them is purely a pedantic desire and isn't motivated by a false belief.

Thanks!

Context

I'm using version 11 of CCS and working on an assembly-only project. I am also completely new to CCS (only about a week's off-hours time, so far.) I am not new to assembly coding (probably thousands of assembly projects so far in my lifetime) and I'm not new to programming the MSP430 (my last such project used the IAR Kickstart tools over a decade ago and IAR appears to have changed their relationship for hobby purposes -- assembly used to be unlimited in size but appears to be limited, now, unless a full paid-for license is engaged.)

I created what I believe to be an assembly-only project using the standard project wizard. And to begin things, I started writing and testing code using the built-in debugger tool (which is useless for counting cycles, but that's another story.) But as I have gradually resolved more important issues, I've come to take a much closer look at the linker command line and also at the Property pages for the project. Most of what I see makes sense to me and I can see the impacts. But I have one particular problem in my understanding where I'd like some help.

So that's the context for this question. I do not need a general education on assembly coding. This question is very specific to the CCS IDE and more particularly to the Property pages within it and controlling the options that are added to the linker command during a build process.

EVM430-FR6043: Communication with External MCU

$
0
0
Part Number: EVM430-FR6043

Hello,

I'm trying to read EVM Data on an external MCU connect over I2C.

I have worked with Energy Monitoring DC data. which have very detailed communication protocol spec. Is there any thing similar available on ULTRA SONIC DC.

Any packet spec with be very helpful.

Regards Bilal

Locking (and unlocking) MSP432P4111 with uniflash CLI

$
0
0
Other Parts Discussed in Thread: UNIFLASH, MSP432P4111

I am trying to lock the MSP432P4111 chip on my embedded application but am finding resistance. I am able to lock the MSP432P4111 from the uniflash GUI by doing the following:

1. Check the checkbox for "Allow one-time device locking (only available during active debug session)"

2. Lock Device

The unlock feature doesn't work, we aren't sure why but that is less important than locking (we are able to use FlashProArm to erase the device).

When I create the standalone package in uniflash we are able to run the dslite.bat file to flash the software onto the device which is great. But then I go to lock the device with the command line it fails. Here is my command line response and call:

standalone_package>ccs_base\DebugServer\bin\DSLite.exe flash --config=user_files\configs\msp432p4111.ccxml -b LockDevice
CORTEX_M4_0: GEL Output: Memory Map Initialization Complete
CORTEX_M4_0: GEL Output: Halting Watchdog Timer
Failed: Performing operation failed

This has the same response with Lock as well as LockDevice. Also I am using the XDS110. We need this to work so that we can lock the device at the factory and move production along with automation.

MSP430FR5994: MSP430FR5994IZVW symbol still incorrect

MSP430FR2155: msp430 fr2155

$
0
0
Part Number: MSP430FR2155

Hi

I am working on a timer TB0 CCR0 routine

I have an issue here and see if TI expert can give me some pointer.

I simplify app so that timer run 240 clock cycle and restart.

I found that in the beginning, the Timer kick every 210 clock cycle. I am expecting 240 clock cycle.

After 120 kick, program stop and start Timer.

and Timer kick every 420 clock cycle after restart.

Not sure what i miss here.

I attach a simple code here.

Thanks

unsigned int count;
unsigned int delta[120];
unsigned int pre_rtc;

void RTCInit()
{
    HWREG16(RTC_BASE + OFS_RTCCTL) &= ~(RTCSS_3 | RTCPS_7);
    HWREG16(RTC_BASE + OFS_RTCMOD) = 32767;
    RTC_start(RTC_BASE,  RTCSS_1);
}

void InitTimer()
{
    HWREG16(TIMER_B0_BASE + OFS_TBxCTL) = TBSSEL__SMCLK;
    HWREG16(TIMER_B0_BASE + OFS_TBxCCR0) = 239;
    HWREG16(TIMER_B0_BASE + OFS_TBxCCTL0) |= CCIE

    HWREG16(TIMER_B0_BASE + OFS_TBxCTL) |=  MC; 
}


#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector = TIMER0_B0_VECTOR
__interrupt void TIMER0_B0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCI_B0_VECTOR))) TIMER0_B0_ISR (void)
#else
#error Compiler not supported!
#endif
{
    
    delta[count] = RTCCNT - pre_rtc;
    pre_rtc = RTCCNT;
    count++;

    if (count>=120)
    {
           HWREG16(TIMER_B0_BASE + OFS_TBxCTL) &=  ~MC; 
           // process data

           
            
           HWREG16(TIMER_B0_BASE + OFS_TBxCTL) |=  MC;    


    } 
}

MSP430F5529: Unintended USB suspension

$
0
0
Part Number: MSP430F5529
Other Parts Discussed in Thread: MSP430WARE

Hi everyone,

I'm using MSP430F5529 with SDK msp430ware 3.80.09.03 and encounter a situation where the USB connection is suspended unintentionally.

It happens due to a specific action of the user: the system may receive various commands via CLI (a few dozens), and regardless of which commands are sent or by which order - at some point the USB driver will be suspended (a few sec or ms after a command is sent). I can see that when using a breakpoint inside Usblsr.c in line 144 - the USB interrupt receives the event USBVECINT_SUSR.

After doing some reading, I found that the USB suspensions "is characterized by 3ms of inactivity on the data signals", as mentioned here in page 42.

I'll mention that running in a loop the code which the CLI commands initiate, without using the CLI commands themselves, results in a normal behavior of the system. Namely, it seems that the issue lies in the USB connection and not in the logic which the commands initiate. After a USB disconnection, due to an unintended suspension, the system's logic continues running properly and everything is fine except for the USB. When disconnecting the physical cable and connecting it back again, the CLI connection restores and it's possible to send commands again (until the next unintended suspension).

In addidtion, I've noticed that the problem worsens when the code size is larger, regardless of which code is added (such as system logic that has nothing to do with the CLI communication). The code size is pretty close to the limits of both flash and RAM (around 97% usage).

I was also wondering about the USB interrupt priority - how do I make sure it is set to the highest?

I would truely appreciate your help!

Thanks,

Dekel

MSP430G2230: HBM and CDM information

$
0
0
Part Number: MSP430G2230

Hi,

Customer would like to check HBM and CDM information of the device, could you please provide it?

EVM430-FR6047: how to use the EVM430_FR6047 kit

$
0
0
Part Number: EVM430-FR6047
Other Parts Discussed in Thread: UNIFLASH

1. To use the USS application of EVM430_FR6047, I uploaded a text file using Uniflash. (MSP430FR6047EVM_USS_Water_Demo_LPM_02_40_00_00, C:\ti\msp\UltrasonicWaterFR604x_02_40_00_00\image)
In the USS application, the board is connected, but LED3 turns red and does not work. I would like to know if there is a workaround. Also, I would like to know which pin(J8) the ultrasonic sensor is connected to

2. In addition, I would like to connect ADC and UART to test electromagnetic flow sensor on EVM430_FR6047. I would like to know which pin to connect to and which example to refer to.ultrasonic or electronic flow sensor connect

MSP430FR2433: production doubt

$
0
0
Part Number: MSP430FR2433

Hi Experts,

We thought to use MSP430FR2433 but now that is shows no stock(which is shows 50INR) in previous, now around 70INR IC is available, here my doubt is Shall we start the new design with MSP430FR2433 because it will stock again or production is stopped??? kindly guide us to best way...

regards

surya

MSP430F5438A: CCS: Failing to build with New Build Configuration

$
0
0
Part Number: MSP430F5438A

Hi 

I'm wondering how CCSIDE-3514 was resolved since I still have the same issue like in the linked related question. When I create a new build configuration in my project, it fails building. 

1. Import CCS project
2. Create New Configuration [testA]. It copied from [Debug]

3. Set Active from [Debug] to [testA] 

4. Press Debug

5. Build Failed

- [Debug] build succeeds but [testA] failed.
- Both [Debug] and [testA] set "Generate Makefiles automatically", but the makefile in testA folder is empty

I have the issue in CCS 10.4.0.00006 as well as in CCS 11.2.0. The project was generated from scratch with the newest CCS version in September 2021. If I create a new empty project adding a New Build Configuration works. 

Does anyone know were I can find more information to the issue CCSIDE-3514 or how I could solve my problem without coping all settings by hand to a new project?

MSP430G2230-EP: Accurate microcontroller selection?

$
0
0
Part Number: MSP430G2230-EP

I'm essentially using this microcontroller as a co-processor for a different micro, and want to make sure my choice of selection here is the correct one. 

These are the needs I have:

1. Wakeup MSP on UART RX activity <- needs to not miss ANY bytes that came in to trigger the wakeup at 9600baud

2. Trigger an interrupt pin on RX activity

3. Re-host "buffered" received UART data to main processor via I2C. 

4. Go back to sleep after I2C data is sent

5. 3.3V supply power

Given my needs above, do I have the correct choice of MSP selected? Any and all feedback would be greatly appreciated, thank you!

MSP430FR2155: MSP430FR2155

$
0
0
Part Number: MSP430FR2155

Hi 

I have another question regarding the Timer.

I set the CCR0 to 239, however, Timer seems to kick  223 clock cycle and some for 240 clock cycle.

How can I not having an consistent clock cycle for every Timer kick.

( I also make sure that there is no other service routine interrupt timer)

Thanks

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector = TIMER0_B0_VECTOR
__interrupt void TIMER0_B0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCI_B0_VECTOR))) TIMER0_B0_ISR (void)
#else
#error Compiler not supported!
#endif
{

    delta[count] = RTCCNT - pre_rtc;
    pre_rtc = RTCCNT;
    count++;

    if (count>=120)
    {
           HWREG16(TIMER_B0_BASE + OFS_TBxCTL) &=  ~MC;
           // process data



           HWREG16(TIMER_B0_BASE + OFS_TBxCTL) |=  MC__UP;


    }
}

MSP430FR5994: Computing MSP430 register names from other register names inside a .macro

$
0
0
Part Number: MSP430FR5994

I've just started using CCS (and also just switched to 12.0 from 11.2, though both are still installed) and I'm interested in being able to supply the macro with a register name (say, for example, R15) and then be able to compute a different register name by subtracting one to get R14 (in this example case.) The reason is that i'm dealing with 32-bit floating-point notation, which is kept in two adjacent-numbered registers. The macro "knows this" and I'd like to supply only one parameter to the macro and allow it to compute the adjacent register from it.

In reading through Chapter 6 of the Assembly Language Tools docs I have (slau131r), I'm just failing to see how to use what's given there to get where I want to go.

The obvious solution is that I always invoke it by listing all of the registers (there are others.) But, if possible, I'd like to use something a little more prosaic.

For now, my focus is on packing and unpacking FP formats (two different ones with the same word size, in fact) for various floating-point operators.

Is there a way? If so, I'd appreciate a clue.

Thanks.

EVM430-FR6043: Add a second UART to the USS_Water_Demo?

$
0
0
Part Number: EVM430-FR6043

Hi, Can anyone guide or point me to documentation on how to add a second UART to the USS_Water_Demo?

In comms.c/h I've added:

//! \var The UART port definition for the UART driver.
//!
const tUARTPort Comm_uartPort =
{
.pbReceiveCallback = Comm_uartReceiveHandler,
.pbErrorCallback = 0,
.peripheralParameters.selectClockSource = EUSCI_A_UART_CLOCKSOURCE_SMCLK,
.peripheralParameters.clockPrescalar = UART__PRESCALER,
.peripheralParameters.firstModReg = UART__FIRST_STAGE_MOD,
.peripheralParameters.secondModReg = UART__SECOND_STAGE_MOD,
.peripheralParameters.parity = EUSCI_A_UART_NO_PARITY,
.peripheralParameters.msborLsbFirst = EUSCI_A_UART_LSB_FIRST,
.peripheralParameters.numberofStopBits = EUSCI_A_UART_ONE_STOP_BIT,
.peripheralParameters.uartMode = EUSCI_A_UART_MODE,
.peripheralParameters.overSampling = UART__SAMPLING_MODE
};


const tUARTPort Comm_uart2Port =
{
.pbReceiveCallback = Comm_uartReceiveHandler,
.pbErrorCallback = 0,
.peripheralParameters.selectClockSource = EUSCI_A_UART_CLOCKSOURCE_SMCLK,
.peripheralParameters.clockPrescalar = UART__PRESCALER,
.peripheralParameters.firstModReg = UART__FIRST_STAGE_MOD,
.peripheralParameters.secondModReg = UART__SECOND_STAGE_MOD,
.peripheralParameters.parity = EUSCI_A_UART_NO_PARITY,
.peripheralParameters.msborLsbFirst = EUSCI_A_UART_LSB_FIRST,
.peripheralParameters.numberofStopBits = EUSCI_A_UART_ONE_STOP_BIT,
.peripheralParameters.uartMode = EUSCI_A_UART_MODE,
.peripheralParameters.overSampling = UART__SAMPLING_MODE
};

How do I connect Comm_uart2Port to the second port?

Thanks.

MSP430FR6043: MSP430FR6043 - Multi Tone Generation - USS Module

$
0
0
Part Number: MSP430FR6043

Dear all,

we would like to implement the Multi Tone Generation in which a certain amount of pulses are sent with 2 different frequencies, e.g., 6 pulses with 500 kHz, followed by 12 pulses with 1 MHz, 8 pulses with 500 kHz, 10 pulses with 1 MHz, etc.

We decided on using the EVM430FR6043 for this matter by starting with the application note  saph_a_ex3_pulseGenerationDMA.c

We currently use DMA2 and DMA3, both triggered at the transition from E-Pulse to X-Pulse and vice versa, to update the values in the registers of the USS-Module. The MSP430 is never put into any sleep mode in our application.

The MSP430 runs at 16 MHz (MCLK) and we allow for enough pulses to be transmitted first to guarantee for the maximum time the DMAs take to complete their transfer to the register for a change in the amount of pulses according to table 11-3 page 350 of the family's user guide.

Let's assume we would like to have following sequence of x- and e-pules to be transmitted

uint16_t epulse[4] = {8, 10, 12, 14}; // -> Freq 1
uint16_t xpulse[4] = {7, 9, 11, 13}; // -> Freq 2

then the first amount of pulses is generated exactly to the amount we specified it with, tho we "preload" these values before starting the transmission of the sequence . In contrast, our last two ones are each repeated once more than they are supposed to.

In our case the sequence reads:

7 x-pulses, followed by 8 e-pulses, 9 x-pulses,  10 e-pulses, 11 x-pulses, 12 e-pulses, 11 x-pulses, 12 e-pulses, 13 x-pulses, 14 e-pulses, 13 x-pulses, 14 e-pulses.

We suppose there is an issue with the DMA transfer we implemented but simply cannot spot the error. I attached the code below of the DMAs' setup.

Any help would be highly appreciated! If we are mistaken and such an application is not possible with the MSP430FR6043, please let us know as well.

Thanks in advance!

   

   uint16_t DMA_chan3_config[80]; 
   uint16_t RAM_XE[10];

    unsigned int i;
    unsigned long SAPHPGC_addr, SAPHXPGCTL_addr;

    SAPHPGC_addr = (unsigned long)(uintptr_t)(&SAPHPGC);               // EPULSE
    SAPHXPGCTL_addr = (unsigned long)(uintptr_t)(&SAPHXPGCTL); // XPULSE, XMOD, ETY

    DMACTL1 = DMA2TSEL_27|DMA3TSEL_27;

    DMA_initParam dmaParam = {0};
    dmaParam.channelSelect = DMA_CHANNEL_2;                     // select the channel with PPG trigger
    dmaParam.transferModeSelect = DMA_TRANSFER_REPEATED_SINGLE; // DMAEN stays enabled, each trigger one block of blocksize
    DMA_init(&dmaParam);

 // XPULSE, EPULSE preset
    DMA_setSrcAddress(DMA_CHANNEL_2, (uint32_t)(uintptr_t)&RAM_XE, DMA_DIRECTION_UNCHANGED);
    DMA_setDstAddress(DMA_CHANNEL_2, (uint32_t)(uintptr_t)&SAPHXPGCTL, DMA_DIRECTION_UNCHANGED);
    DMA_setTransferSize(DMA_CHANNEL_2, 1);  // 1 register (word) per block
    DMA_enableTransfers(DMA_CHANNEL_2);

  // Write new SA and DA of DMA2
  // crucial for proper function - DMA buffers new SA, DA in temporary variables -- addresses need to be available one round earlier
    DMA_setSrcAddress(DMA_CHANNEL_2, (uint32_t)(uintptr_t)RAM_XE+1, DMA_DIRECTION_INCREMENT);
    DMA_setDstAddress(DMA_CHANNEL_2, (uint32_t)(uintptr_t)&SAPHPGC, DMA_DIRECTION_UNCHANGED);

  // Repeated block transfer, increase src address and dst address
    dmaParam.channelSelect = DMA_CHANNEL_3;
    dmaParam.transferModeSelect = DMA_TRANSFER_REPEATED_BLOCK;
    DMA_init(&dmaParam);

   // X-Puls
    DMA_setSrcAddress(DMA_CHANNEL_3, (uint32_t)(uintptr_t)&DMA_chan3_config, DMA_DIRECTION_INCREMENT);
    DMA_setDstAddress(DMA_CHANNEL_3, (uint32_t)(uintptr_t)&DMA2SA, DMA_DIRECTION_INCREMENT);
    DMA_setTransferSize(DMA_CHANNEL_3, 9);  // 9 register per block
    DMA_enableTransfers(DMA_CHANNEL_3);

// Setup RAM
    // RAM to be transfered to DMA2 and DMA3
      for (i = 0; i < 7; i++)
      {
          *(DMA_chan3_config+i*9)   = (unsigned int)((unsigned long)(uintptr_t)(RAM_XE + i + 2));                      // DMA2SA
          *(DMA_chan3_config+1+i*9) = (unsigned int)(((unsigned long)(uintptr_t)(RAM_XE + i + 2))>>16);        // DMA2SAH
          if (i % 2 == 0){
              *(DMA_chan3_config + 2 + i*9) = (unsigned int)(SAPHXPGCTL_addr);                                                   // DMA2DA low bits von SAPHPGC (0x0E40) -> EPULS;
          }else{
              *(DMA_chan3_config + 2 + i*9) = (unsigned int)(SAPHPGC_addr);                                                         // DMA2DA low bits von SAPHXPGCTL (0x0E4A) -> XPULS;
          }
          *(DMA_chan3_config+3+i*9) = 0x0000;                                                                                                             // DMA2DAH
          *(DMA_chan3_config+4+i*9) = 0x0001;                                                                                                            // DMA2SZ
          *(DMA_chan3_config+5+i*9) = 0x0000;                                                                                                            // dummy -- see datasheet 3 words between DMA2SZ and DMA3CTL
          *(DMA_chan3_config+6+i*9) = 0x0000;                                                                                                           // dummy
          *(DMA_chan3_config+7+i*9) = 0x5000|DMASRCINCR|DMADSTINCR|DMAEN;                                   // DMA3CTL
          *(DMA_chan3_config+8+i*9) = (unsigned int)(unsigned long)(uintptr_t)(DMA_chan3_config + (i + 1) * 9);  // DMA3SA
      }

//Set XMOD_2 in last cycle

    for (i = 0; i < 4; i++){ //4
        if (i == 3){                                                                             // last loop iteration
            *(RAM_XE + 0 + i*2) = 0x6000;                                  // X_MOD 2, XPULSE
            *(RAM_XE + 1 + i*2) = 0x0000;                                 // EPULSE
        }else{
            *(RAM_XE + 0 + i*2) = xpulse[i+1] | 0x7000;          // X_MOD 3, XPULSE
            *(RAM_XE + 1 + i*2) = epulse[i+1];                         // EPULSE
        }
    }
    DMACTL1 = DMA2TSEL_27|DMA3TSEL_27;                      // -- something seems to clear DMATRIIG27-- setting it once more
}

MSP430G2755: BSL Memory Type

$
0
0
Part Number: MSP430G2755

Hello,

The MSP430G2755 datasheet indicates that the BSL memory is flash based:

But the MSP BSL App note indicates that it should be ROM based:

Which is it?

EVM430-FR6047: "Volume Flow Rate" calculation method

$
0
0
Part Number: EVM430-FR6047

Dear person in charge

We are currently using EVM430-FR6047 for development and evaluation.

I would like to confirm the calculation method of "Volume Flow Rate", is the calculation method in the attached document correct?

 e2e.ti.com/.../Volume-Flow-Ratecalculation-method.pdf

If it is wrong,please let me know the correct calculation method.

Viewing all 22218 articles
Browse latest View live


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