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

CCS/MSP432P401R: Enabling/Disabling interrupts

$
0
0

Part Number:MSP432P401R

Tool/software: Code Composer Studio

I am in the process of Franken-combining two different examples and one uses:

MAP_Interrupt_enableMaster(); from DriverLib and the other uses:

 

__enable_interrupt();

 

Am I doing the same thing twice? Is there a difference between the two?


MSP430FR2633: XT1BYPASS mode question?

$
0
0

Part Number:MSP430FR2633

Hello,

In section 7.1.2 (external oscillator), page 75 of the MSP430FR2633 manual, it states it is possible to use XIN and XOUT as general purpose I/O.  It says it is possible if the appropriate XT1BYPASS mode is selected.  I am trying to simply to set the pins (2.0 and 2.1, XOUT and XIN respectively) as input/output pins with no luck. www.ti.com/.../msp430fr2633.pdf

Using the MSP430 driver lirbary, I called CS_bypassXT1(), but I am not sure if this is sufficient..

Code below:

#include "driverlib.h"

int main(void) {

    WDT_A_hold(WDT_A_BASE);

    CS_bypassXT1();

    GPIO_setAsOutputPin(GPIO_PORT_P2,GPIO_PIN0); //brown p2.2
    GPIO_setOutputHighOnPin(GPIO_PORT_P2,GPIO_PIN0); //brown p2.2
    int i;
    while(1){
        GPIO_toggleOutputOnPin(GPIO_PORT_P2,GPIO_PIN0);
        for( i = 0; i < 20000; i++ );
    }
}

Any help is much appreciated.

Best,

Robert

MSP430F5529: Getting started communicating via Apple lightning connector

$
0
0

Part Number:MSP430F5529

I have obtained an MFi Developer license from Apple. Is there any example code and/or reference design available from TI to help get started. I am interested both in the USB connection and the I2C coprocessor connection.

MSP430FR2633: what interface do I need to use captivate studio

$
0
0

Part Number:MSP430FR2633

I bought a captivate eval kit, and I designed the MSP430FR2633 into my board.  However so far I only have the two wire programming interface that I might use to connect to say code composer studio.  What do I need to expose to connect my board to captivate studio to tune it in real life?  I was surprised to unpack the eval board to find a whole separate board with USB and several other MSP430s on it.

Thank you

CCS/MSP430FR5969: GPIO gets optimized away..

$
0
0

Part Number:MSP430FR5969

Tool/software: Code Composer Studio

As the title says. If I crank the optimization to 4, this gets optimized away which is obviously not a good thing:

void LED_Blink(){
	GPIO_toggleOutputOnPin(
	   GPIO_PORT_P3,
	   GPIO_PIN6
	   );
}

Blinky leds aside, there are more important things like ENable pins and the like. Is there a way of preventing this besides tagging everything IO related as #pragma FUNC_CANNOT_INLINE ?

MSP430F6736: irDA stack

$
0
0

Part Number:MSP430F6736

Hello

I was wondering if there is any sample code anywhere that shows the stack for irDA communications.

thanks in advance

SIMPLELINK-MSP432-SDK: MSP432: MAP_Timer_A_generatePWM function call generates only one pulse wave instead of true PWM wave

$
0
0

Part Number:SIMPLELINK-MSP432-SDK

Hello,

I'm using a Launchpad MSP432P401 with a BoosterPack MK-II.

I want to generate a PWM wave using MAP_Timer_A_generatePWM. I tried different samples coming from simplelink_msp432_sdk_1_30_00_40 SDK (timer_a_pwm_mode_MSP_EXP432P401R, nortos) and msp432_driverlib_3_21_00_05 SDK (timer_a_pwm_mode). I also try to use samples from the following e2e threads "e2e.ti.com/.../1531341" and from "https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/427197".

Unfortunately, my issue is always the same : I just got one pulse, not a complete PWM wave. I used the following settings:

Timer_A_PWMConfig pwmConfig =
{
        TIMER_A_CLOCKSOURCE_SMCLK,
        TIMER_A_CLOCKSOURCE_DIVIDER_1,
        32000,
        TIMER_A_CAPTURECOMPARE_REGISTER_1,
        TIMER_A_OUTPUTMODE_RESET_SET,
        3200
};

Note that using TIMER_A in counter mode on the same GPIO and I got a nice PWM.

Do you have any idea to solve my issue?

Many thanks in advance for your support,

Best Regards,

Yann Garcia

CCS/MSP430FR5969: ADC12_B: differential mode : code is not entering into ISR: please report any changes

$
0
0

Part Number:MSP430FR5969

Tool/software: Code Composer Studio

#include "driverlib.h"
uint32_t value=0;
void gpio_init();
void adc_init();
int main(void)
{
WDT_A_hold(WDT_A_BASE);
PMM_unlockLPM5();

gpio_init();
adc_init();
while(1)
{
__delay_cycles(5000);


ADC12_B_startConversion(ADC12_B_BASE,ADC12_B_MEMORY_0,ADC12_B_SINGLECHANNEL);

__bis_SR_register(LPM0_bits + GIE); // LPM0, ADC12_B_ISR will force exit
__no_operation(); // For debugger
}

}
void gpio_init()
{

GPIO_setAsPeripheralModuleFunctionOutputPin( GPIO_PORT_P2,GPIO_PIN4,GPIO_TERNARY_MODULE_FUNCTION);
GPIO_setAsPeripheralModuleFunctionOutputPin( GPIO_PORT_P4,GPIO_PIN2,GPIO_SECONDARY_MODULE_FUNCTION);
}
void adc_init()
{
ADC12_B_initParam initParam = {0};
initParam.sampleHoldSignalSourceSelect = ADC12_B_SAMPLEHOLDSOURCE_SC;
initParam.clockSourceSelect = ADC12_B_CLOCKSOURCE_SMCLK;
initParam.clockSourceDivider = ADC12_B_CLOCKDIVIDER_1;
initParam.clockSourcePredivider = ADC12_B_CLOCKPREDIVIDER__1;
initParam.internalChannelMap = ADC12_B_NOINTCH;
ADC12_B_init(ADC12_B_BASE, &initParam);

//Enable the ADC12B module
ADC12_B_enable(ADC12_B_BASE);

ADC12_B_setupSamplingTimer(ADC12_B_BASE,ADC12_B_CYCLEHOLD_16_CYCLES,ADC12_B_CYCLEHOLD_4_CYCLES, ADC12_B_MULTIPLESAMPLESDISABLE);


ADC12_B_configureMemoryParam configureMemoryParam = {0};
configureMemoryParam.memoryBufferControlIndex = ADC12_B_MEMORY_0;
//configureMemoryParam.inputSourceSelect = ADC12_B_INPUT_A7;
configureMemoryParam.inputSourceSelect=ADC12_B_INPUT_A7;
configureMemoryParam.refVoltageSourceSelect =
ADC12_B_VREFPOS_AVCC_VREFNEG_VSS;
configureMemoryParam.endOfSequence = ADC12_B_NOTENDOFSEQUENCE;
configureMemoryParam.windowComparatorSelect =
ADC12_B_WINDOW_COMPARATOR_DISABLE;
configureMemoryParam.differentialModeSelect =
ADC12_B_DIFFERENTIAL_MODE_ENABLE;
ADC12_B_configureMemory(ADC12_B_BASE, &configureMemoryParam);


ADC12_B_configureMemoryParam configureMemoryParam2 = {0};
configureMemoryParam.memoryBufferControlIndex = ADC12_B_MEMORY_0;
//configureMemoryParam.inputSourceSelect = ADC12_B_INPUT_A7;
configureMemoryParam2.inputSourceSelect=ADC12_B_INPUT_A10;
configureMemoryParam2.refVoltageSourceSelect =
ADC12_B_VREFPOS_AVCC_VREFNEG_VSS;
configureMemoryParam2.endOfSequence = ADC12_B_NOTENDOFSEQUENCE;
configureMemoryParam2.windowComparatorSelect =
ADC12_B_WINDOW_COMPARATOR_DISABLE;
configureMemoryParam2.differentialModeSelect =
ADC12_B_DIFFERENTIAL_MODE_ENABLE;
ADC12_B_configureMemory(ADC12_B_BASE, &configureMemoryParam2);

ADC12_B_clearInterrupt(ADC12_B_BASE,0,ADC12_B_IFG0);

//Enable memory buffer 0 interrupt
ADC12_B_enableInterrupt(ADC12_B_BASE,ADC12_B_IE0,0,0);
}
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=ADC12_VECTOR
__interrupt
#elif defined(__GNUC__)
__attribute__((interrupt(ADC12_VECTOR)))
#endif
void ADC12_ISR(void)
{
switch(__even_in_range(ADC12IV,12))
{
case 0: break; // Vector 0: No interrupt
case 2: break; // Vector 2: ADC12BMEMx Overflow
case 4: break; // Vector 4: Conversion time overflow
case 6: break; // Vector 6: ADC12BHI
case 8: break; // Vector 8: ADC12BLO
case 10: break; // Vector 10: ADC12BIN
case 12: // Vector 12: ADC12BMEM0 Interrupt
value=ADC12MEM0;

__bic_SR_register_on_exit(LPM0_bits); // Exit active CPU
break; // Clear CPUOFF bit from 0(SR)
case 14: break; // Vector 14: ADC12BMEM1
case 16: break; // Vector 16: ADC12BMEM2
case 18: break; // Vector 18: ADC12BMEM3
case 20: break; // Vector 20: ADC12BMEM4
case 22: break; // Vector 22: ADC12BMEM5
case 24: break; // Vector 24: ADC12BMEM6
case 26: break; // Vector 26: ADC12BMEM7
case 28: break; // Vector 28: ADC12BMEM8
case 30: break; // Vector 30: ADC12BMEM9
case 32: break; // Vector 32: ADC12BMEM10
case 34: break; // Vector 34: ADC12BMEM11
case 36: break; // Vector 36: ADC12BMEM12
case 38: break; // Vector 38: ADC12BMEM13
case 40: break; // Vector 40: ADC12BMEM14
case 42: break; // Vector 42: ADC12BMEM15
case 44: break; // Vector 44: ADC12BMEM16
case 46: break; // Vector 46: ADC12BMEM17
case 48: break; // Vector 48: ADC12BMEM18
case 50: break; // Vector 50: ADC12BMEM19
case 52: break; // Vector 52: ADC12BMEM20
case 54: break; // Vector 54: ADC12BMEM21
case 56: break; // Vector 56: ADC12BMEM22
case 58: break; // Vector 58: ADC12BMEM23
case 60: break; // Vector 60: ADC12BMEM24
case 62: break; // Vector 62: ADC12BMEM25
case 64: break; // Vector 64: ADC12BMEM26
case 66: break; // Vector 66: ADC12BMEM27
case 68: break; // Vector 68: ADC12BMEM28
case 70: break; // Vector 70: ADC12BMEM29
case 72: break; // Vector 72: ADC12BMEM30
case 74: break; // Vector 74: ADC12BMEM31
case 76: break; // Vector 76: ADC12BRDY
default: break;
}
}


MSP432WARE: ADC14 single _differential measurements + Uart

$
0
0

Part Number:MSP432WARE

Dear All, 

I am new on  MSP432 and embedded systems. I will start to new project about  differantial voltage measurement and i will visualise on Labview but firstly,

I tried to combine two example code from MSPWARE.

First one is ADC14 single differential 2's complement code.

Second one is 12 Mhz Uart Echo  code.

1.This two code from driverlib examples and i enable and define EUSCIA0_IRQHandler and ADC14_IRQHandler from startup file.

2. I copied to uart configuration enabling and interrupt settings  to ADC14 code from Echo code.

I want to see ''result'' value in my terminal. 

How can i combine this parts. 

Thank you.

/* This interrupt happens every time a conversion has completed. Since the FPU
* is enabled in stacking mode, we are able to use the FPU safely to perform
* efficient floating point arithmetic.*/


void ADC14_IRQHandler(void)
{
uint64_t status;

status = MAP_ADC14_getEnabledInterruptStatus();
MAP_ADC14_clearInterruptFlag(status);

if(status & ADC_INT0)
{
adcResult = convertToFloat(MAP_ADC14_getResult(ADC_MEM0));
}

}




/* Converts the ADC result (14-bit) to a float with respect to a 3.3v reference
*/


static float convertToFloat(uint16_t result)
{
int32_t temp;

if(0x8000 & result)
{
temp = (result >> 2) | 0xFFFFC000;
return ((temp * 3.3f) / 8191);
}
else
return ((result >> 2)*3.3f) / 8191;
}






/* EUSCI A0 UART ISR - Echoes data back to PC host */


void EUSCIA0_IRQHandler(void)
{
uint32_t status = MAP_UART_getEnabledInterruptStatus(EUSCI_A0_BASE);

MAP_UART_clearInterruptFlag(EUSCI_A0_BASE, status);

if(status & EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG)
{
MAP_UART_transmitData(EUSCI_A0_BASE, MAP_UART_receiveData(EUSCI_A0_BASE));
}

}

MSP430F233: USCIB0 issue with bits shifted to the right

$
0
0

Part Number:MSP430F233

Hello!

I hope someone can help me with this issue since it is frustrating me for 1 week counting.

My goal is to establish a working communication  between the MSP430 and 2 SPI slaves.

One slave is the DS1390 RTC which needs SPI Mode 1 or 3 ( CPOL don't care CPHA =1), the other is the A25L080O Flash which need SPI Mode 0 or 3 ( CPOL = CPHA either 0 or 1 ) so CPOL =CPHA =1 was the obvious choice for both.

I startet working with the RTC first and after setting the clock to certain values the read gave me erratic Data back. After starting contact with Tech Support I switched focus to the Flash (contact between Europe and USA is like 1 mail a Day) I encountered similar erratic Data. After some analysis I am up to the point were it seems like the whole SOMI line is 1 clock to late. Shifting everything 1 spot to the left gives me Data which suddenly gives me the correct expected Data.

So my conclusion to this point is: SIMO works correct since the slaves do what they are supposed to do. SOMI is 1 CLK off. For both devices.

Here is my code (sorry for the german names of variables and comments)

void SPI_init(void)											//Funktion zur Initialisierung der SPI Schnittstelle
{
	//CS leitungen für RTC Flash
	P2OUT |=  (1<<7);										//RTC
	P2OUT |=  (1<<6);										//FLASH
	UCB0CTL1 |= UCSWRST;									//SPI - Schnittstelle anhalten (nötig für das Konfigurieren)

	P3SEL |= BIT1 + BIT2 + BIT3;							//CLK, MOSI und MISO für UCB0 an Port 3

	//SPI - Modus einstellen
	//UCSYNC = Synchronmodus ; UCMST = Mastermode ; UCMODE_0 = 3-pin SPI ; UCCKPH = Clockphase 1 ; UCCKPL = Clockpolarität 1 ; UCMSB = MSB zuerst ; UC7BIT = 7-bit Character

	UCB0CTL0 |= UCSYNC + UCMST + UCMODE_0 + UCCKPH + UCCKPL + UCMSB;  //UCCKPL eingefügt. Flash benötigt CKPH und CKPL identisch (0 oder 1) ; RTC benötigt CKPH=1 während CKPL variabel ist; 10.3.2017

	UCB0CTL1 |= UCSSEL_1;									//Taktquelle einstellen 0 = keine ; 1 = ACLK ; 2 = SMCLK ; 3 = SMCLK


	//Teiler für den Takt einstellen
	UCB0BR0 = 0x08; 										// Teiler 8
	UCB0BR1 = 0x00;											//erweiterter Teiler (*256)

	UCB0CTL1 &= ~UCSWRST;									//Schnittstellenhardware einschalten

	IE2 |= UCB0RXIE ;										//USCIB0 Empfangs Interrupt Enable

}

void SPI_send_byte(unsigned char DATA[])
{
	letztes_byte=0;								// variable checking for last byte to send
	unsigned int i;
	CHIP_SELECT_RTC_ON;
	for(i=0;i<Anzahl_Bytes;i++)
	{
		transmit_ch=DATA[i];
		if(i == Anzahl_Bytes-1)					// last byte?
			letztes_byte = 1;				
		IE2 |= UCB0TXIE;						// enable transmit interrupt ---> jumps into transmit ISR
		if(i>=1)								//coming out of receiving ISR
		Zeit[i-1]=(received_ch);				//write received byte into array	
	}
}

and the transmit and receving ISR

#pragma vector = USCIAB0TX_VECTOR				//Pragma-Anweisung für die USCIB0-Sende ISR


__interrupt void USCIB0TX_ISR(void)				//USCIB0-Sende ISR
{
	UCB0TXBUF=transmit_ch;						//Übergabe des Sendebyte an den Sendepuffer

	while(UCB0STAT & UCBUSY);					//had to implement this wait or the msp would go ahaed wouldn't wait for the SPI to transmit and receive

	IE2 &= ~ UCB0TXIE;							//Löschen des Interrupt Enable Bits

}
#pragma vector = USCIAB0RX_VECTOR				//Pragma-Anweisung für die USCIB0-Empfangs ISR


__interrupt void USCIB0RX_ISR(void)				//USCIB0-Empfangs ISR
{
	received_ch=UCB0RXBUF;						//Auslesen des Empfangspuffers


	if(letztes_byte == 1)
		P2OUT |=  (1<<7);


}

this is the version for only communicating with the RTC.

I hope I didn't mess up something with the ISR to cause the mess I am into or miss something in the SPI setup.

I controlled everything with a logic analyzer and all the timing of CS , CLK and SIMO are fine. Even the timing on SOMI looks fine only issue is the shift to the right which is occurring on both devices which makes me think it is an SPI issue.

For the Flash I tried the other configuration of CPOL = CPHA = 0 , but in this case the SIMO was off one bit late ?!?

msp430fr4133: Clock configuration

$
0
0

Part Number:msp430fr4133

i have tried various codes to configure the clock for msp430fr4133 as i only know how to do it in msp430g2553. Can you guide me on this.

   //------------------- Configure the Clocks -------------------//
   // Set DCO Clock = 1MHz                                       //

   if (CALBC1_1MHZ==0xFF || CALDCO_1MHZ==0xFF)   // If calibration constant erased
     
       while(1);            // do not load, trap CPU!!
   
 BCSCTL1 = CALBC1_8MHZ;   // Set range
 DCOCTL  = CALDCO_8MHZ;   // Set DCO step + modulation

MSP430FR5972: ADC reading issue

$
0
0

Part Number:MSP430FR5972

Hi,

Now I am facing one issue, I am giving the different supply (from 1.5 V to 3.6 V) to ADC channel P9.4 (A12) but it give the MAX value (4095) and when I provide GND then it gives 0 (zero) value. 

conclution it gives only two value either 4095 or 0.

I am using code like:-

void adc_ch_A12()
{
ADC12MCTL0 |= ADC12INCH_12 | ADC12VRSEL_1; // A12 ADC input select; Vref=1.2V
P9SEL1 |= BIT4; // Configure P9.4 for ADC
}

void adc_init()
{
// Configure ADC12
ADC12CTL0 = ADC12SHT0_2 | ADC12ON;
ADC12CTL1 = ADC12SHP; // ADCCLK = MODOSC; sampling timer
ADC12CTL2 |= ADC12RES_2; // 12-bit conversion results
ADC12IER0 |= ADC12IE0; // Enable ADC conv complete interrupt
}

CCS/MSP430FR5969: DHT22 TEMPERATURE AND HMIDITY SENSOR is not giving values accurately ,but 40 pulses are acheiving as per datasheet..please report any changes

$
0
0

Part Number:MSP430FR5969

Tool/software: Code Composer Studio

#include "driverlib.h"
#include "stdio.h"
#include "string.h"
#include "stdlib.h"

void dht22_trigger();
void dht22_input();
void dht22_read();
void clockinit();
void timerinit();

uint32_t clock,count=0,timer_count=0,count_1,count_0;
uint32_t pulseWidth;
uint16_t k=0;
bool high;

#define DHT22PORT GPIO_PORT_P1
#define DHT22PIN GPIO_PIN4
#define DHT22_OUTPUT P1DIR |= BIT4//OUTPUT DIRECTION.
#define DHT22_INPUT P1DIR &= ~BIT4//INPUT DIRECTION
#define DHT22_HIGHOUTPUT P1OUT |= BIT4//OUTPUT HIGH
#define DHT22_LOWOUTPUT P1OUT &= ~BIT4//OUTPUT LOW
#define INDHT ((P1IN&BIT4)==BIT4) //INPUT =BIT4

unsigned int temperature, humidity;
uint16_t arr[50]={0};
static uint16_t i=0;
uint32_t lowtohightransition=0,count_1;
uint32_t hightolowtransition=0;

#define TIMER_PERIOD 80

int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
PM5CTL0 &= ~LOCKLPM5;
clockinit();
clock=CS_getSMCLK();
timerinit();
_bis_SR_register(GIE);

while(1)
{

dht22_trigger();
dht22_input();
__delay_cycles(80000);

}
}
void clockinit()
{
// Clock System Setup
CSCTL0_H = CSKEY >> 8; // Unlock CS registers
CSCTL1 = DCOFSEL_6; // Set DCO to 8MHz
CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK; // Set SMCLK = MCLK = DCO
// ACLK = VLOCLK
CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers to 1
CSCTL0_H = 0; // Lock CS registers
}
void timerinit()
{
//Start timer in continuous mode sourced by SMCLK
Timer_B_clearTimerInterrupt(TIMER_B0_BASE);

Timer_B_initUpModeParam param = {0};
param.clockSource = TIMER_B_CLOCKSOURCE_SMCLK;
param.clockSourceDivider = TIMER_B_CLOCKSOURCE_DIVIDER_1;
param.timerPeriod = TIMER_PERIOD;
param.timerInterruptEnable_TBIE = TIMER_B_TBIE_INTERRUPT_DISABLE;
param.captureCompareInterruptEnable_CCR0_CCIE =
TIMER_B_CAPTURECOMPARE_INTERRUPT_ENABLE;
param.timerClear = TIMER_B_DO_CLEAR;
param.startTimer = false;
Timer_B_initUpMode(TIMER_B0_BASE, &param);
}


void dht22_trigger(void)
{
memset(arr , 0 , sizeof(arr));
i = 0;
k = 0;
high = false;

DHT22_OUTPUT;
DHT22_HIGHOUTPUT;
DHT22_LOWOUTPUT;
__delay_cycles(8000);//1 ms
DHT22_HIGHOUTPUT;
__delay_cycles(240);//30 us
DHT22_INPUT;
if(!GPIO_getInputPinValue( GPIO_PORT_P1,GPIO_PIN4 ))
{
_delay_cycles(640);//80us

}
else
{
clock=CS_getSMCLK();
}
if(GPIO_getInputPinValue( GPIO_PORT_P1,GPIO_PIN4 ))
{
_delay_cycles(640);//80us
}
else
{
clock=CS_getSMCLK();
}
}
void dht22_input()
{
//GPIO_setAsInputPinWithPullDownResistor(DHT22PORT, DHT22PIN);
GPIO_enableInterrupt(DHT22PORT, DHT22PIN);
GPIO_clearInterrupt(DHT22PORT, DHT22PIN);
GPIO_selectInterruptEdge(DHT22PORT, DHT22PIN, GPIO_LOW_TO_HIGH_TRANSITION);
}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=TIMERB0_VECTOR
__interrupt
#elif defined(__GNUC__)
__attribute__((interrupt(TIMERB0_VECTOR)))
#endif
void TIMERB0_ISR(void)
{
timer_count++;
pulseWidth++;

}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=PORT1_VECTOR
__interrupt
#elif defined(__GNUC__)
__attribute__((interrupt(PORT1_VECTOR)))
#endif
void Port_1(void)
{
if(GPIO_getInputPinValue( GPIO_PORT_P1,GPIO_PIN4 ))
{
if(high == false)
{
high = true;
k++;

count_1++;
GPIO_clearInterrupt( GPIO_PORT_P1,GPIO_PIN4 );

GPIO_selectInterruptEdge(GPIO_PORT_P1, GPIO_PIN4,GPIO_HIGH_TO_LOW_TRANSITION);
timer_count = 0;
pulseWidth = 0;
Timer_B_startCounter(TIMER_B0_BASE,TIMER_B_UP_MODE);
}

}
else
{
if(high == true)
{
high = false;

Timer_B_stop(TIMER_B0_BASE);
Timer_B_clear(TIMER_B0_BASE);

if(pulseWidth<=3)
{
arr[i++]=0;
}
else
{
arr[i++]=1;
}

pulseWidth=0;

//P1.4 IFG cleared
GPIO_clearInterrupt( GPIO_PORT_P1,GPIO_PIN4 );

GPIO_selectInterruptEdge(GPIO_PORT_P1, GPIO_PIN4,GPIO_LOW_TO_HIGH_TRANSITION);
}
}


if(k == 43)
{
k = 0;
}
}

MSP430F6746A: PCB design guidelines for F6746A pins

$
0
0

Part Number:MSP430F6746A

Hi Support,

can we provide PCB design guidelines for specific part MSP430F6746AIPEU?

Customer need to know exactly how to design pin pads and spacing.

Thanks and regards,

Alberto

TIDM-3PHMTR-TAMP-ESD: BOM excel file


CCS/MSP430F1612: Bootloader

$
0
0

Part Number:MSP430F1612

Tool/software: Code Composer Studio

Hi

I'm currently trying to implement a boot loader on the MSP430F1612 using CCS V6.1.3.00034.

Are there any application notes on how i can put the code in the boot loader section of memory?

Regards

Paolo de RIsi

CCS/EZ430-CHRONOS: Over the air firmware update for CC1120 and MSP430FR2433 based sensor nodes

$
0
0

Part Number:EZ430-CHRONOS

Tool/software: Code Composer Studio

Hello,

I want to update the firmware of my wireless sensor nodes over the air .Sensor nodes are designed by using CC1120 and MSP430FR2433.So can i buy ez430 development kit so that i can update the firmware of my sensor nodes using its control center application.According to below application note.

Can i implement the same procedure for updating firmware of my sensor nodes over the air?Please provide me any proper documentation or source codes so that i can buy it and start its implementation.

Thanks and Regards,

Pavan

MSP430F5529: 3 half MOSFET bridge control

$
0
0

Part Number:MSP430F5529

Hi there !

I have to control the speed of a PMSM and for that purpose I am using a 3 half MOSFET bridge. So I need to generate the six gate signals with my controller. According to the type of control I'm using, I need the following scheme for the gate signals:

I'm using an intersective PWM technique, so basically the 3 arms of the bridge are indepedent, and in each arm, if the high mos are close (gate signal = 1), the low one are open (gate signal = 0) (see the simulink scheme for more understanding)

At this time, I am able to generate some PWMs with a certain duty cycle but it's not exactly what I need for my control.

Does someone have an idea how to do what I want with the controller I'm using (MSP430F5529)?

Thank you all !

CCS/MSP430F5529: SPY-BI-Wire

$
0
0

Part Number:MSP430F5529

Tool/software: Code Composer Studio

Hello MSP430 Friends,

Do you have any software written in CCS or Energia that can turn my my MSP4305529 LaunchPad or MSP432 Launchpad into a SPY-BI-WIRE analyzer? I am trying to debug a programming error in a MCM with an MSP430 die integrated.

Or do you have some kind of SPY-BI-WIRE lab equipment that I can just walk down the hall and borrow?

If you need more details, please contact me directly over email. This is a custom MCM, so I cannot share details here.

CCS/MSP432P401R: CCS/MSP432P401R programming

$
0
0

Part Number:MSP432P401R

Tool/software: Code Composer Studio

I'm using this part with CCS 7 and I have huge problems to program the parts. Some boards working, other occasionally and majority not at all.

I figured out if I use CCS 6.1.1 than I can program all the parts. Can you tell me what's going on with this part and CCS 7, please?

Thanks,

Dorel

Viewing all 22454 articles
Browse latest View live


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