Part Number:MSP430FR6047
Hello,
I would like to know some specific performance statistics.
1 - What is the maximum possible pipe size this Microcontroller is suitable for?
2 - What is the maximum TOF, DTOF it is possible to measure?
Regards,
Jadhav
Part Number:MSP430FR6047
Hello,
I would like to know some specific performance statistics.
1 - What is the maximum possible pipe size this Microcontroller is suitable for?
2 - What is the maximum TOF, DTOF it is possible to measure?
Regards,
Jadhav
Part Number:MSP430G2553
Tool/software: Code Composer Studio
int main(void){ Clock_Config(); GPIO_Config(); UART_Config(); I2C_Config();
P1DIR = 0x41; // P1.0 P1.6 output, else input P1OUT = 0x08; // P1.3 set, else reset P1REN |= 0x08; // P1.3 pullup
__enable_interrupt(); // Enter LPM0, interrupts enabled
while(1) {
Part Number:MSP430F149
Hello,
I am trying to communicate with the MSP via an external master. I have managed to get the MOSI signals to work properly and have the MSP respond properly. However, the MISO is not operating as expected. After receiving 5 characters, it is supposed to respond with 2. However, when looking at the oscilloscope, I see that the SPI MISO line is constantly sending a single character (the green signal is MISO, the left yellow is MOSI and the right yellow signal is CLK). I am using USART0 and I have omitted all the code in the TX and RX interrupt, but the problem persists. Additionally, when I sent the characters from the master when the MSP had the MISO functionality disabled and set to the pin to an input, the MISO line saw no response, indicating it has to do with the MSP. Is there a characteristic of the SPI that I am unaware of?
Part Number:MSP430FR4133
Tool/software: Code Composer Studio
Hi
I am taking a course on Udemy called Microcontrollers and c programming language. Its a great course but I have hit a few problems. When buying the development board I didn't buy the exact board they use on the course and I have hit problems with programming the LCD screen. The tutor asks us to download a dropbox file which contains files to make it easier to create a program that interacts with the LCD display on the dev board. However when I try to include these files they are not right because I am using a slightly different dev board to the one they are using. Is there anyone on here that has had this problem or someone that can help me create these files so that it works with my board. The files I am looking to recreate are
myGPIO.h
myClocks.h
myLcd.h
The board that they use in the course is a MSP430FR6989 DEV Board
If anyone can help me it would be greatly appreciated as I have managed to get so far in the course and don't want to give up now.
Part Number:MSP430FR5994
Dear TI DSP experts,
Can someone give me advice, is it possible to implement one of the existent narrowband voice compression codecs using MSP430+LEA? The requirements are: it is in 8kbps-13kpbs data rate range; it is not based on 2-bit ADPCM, preferably it extensively use FFT, convolution, filtering, MAC and other batch processing from LEA module, sample rate 8kHz-12kHz.
Please, give expert response in public or private manner for your choice.
Regards,
Alexey
Part Number:MSP430F5510
Hi.
I'm looking to use the internal temperature sensor with the ADC10 to get a rough PCB assembly temperature. Data suggest with the TLV calibration ±3°C is possible. (without ±20°C).
Reading the TLV ADC10 block , I getting the data below (shown in decimal and hex) , but i'm not sure if this looks correct.
Please can someone confirm. I'm using Rowley Crossworks. I looked on the web and some people were suggesting higher values for the ref 30 and 85°C values.
Regards
Nick
Part Number:EVM430-FR6047
Tool/software: Code Composer Studio
Hi,
I updated to the new version of USS library
But the calibration doesn't work if I use the headers outside the calibration/demo application listed.
My code is based on the same calibration program, it uses the same files and the same routines in the same way, but the result is really not the same.
I did the same with a previous version of the library and calibration/demo program, and it worked just fine. I just want to be able to calibrate defining mutliple ranges.
Part Number:MSP430FR2355
What is the output current capability of the Op Amp in each SAC module?
Also, if the SAC is configured to output onto an OAxO pin, which is internally connected to another module (Comparator, ADC), does this prevent the corresponding pin from being used as a digital pin?
Part Number:MSP430FR6989
Tool/software: Code Composer Studio
I want use UCA0 in port 4 pin 2,3
and i write this code
P4SEL0 |=(BIT2 | BIT3); // USCI_A0 UART operation
P4SEL1 &= ~(BIT2 | BIT3);
UCA0CTLW0 = UCSWRST; // Put eUSCI in reset
UCA0CTLW0 |= UCSSEL__SMCLK; // CLK = SMCLK
UCA0BR0 = 104; // 16000000/16/9600
UCA0BR1 = 0x00;
UCA0MCTLW |= UCOS16 | UCBRF_2 | 0xD600; //0xD600 is UCBRSx = 0xD6
UCA0CTLW0 &= ~UCSWRST;
DE_OFF;
DE_ACTIVE;// Initialize eUSCI
UCA0IE |= UCRXIE;
This is correct configuration
Part Number:MSP430FR2355
Tool/software: Code Composer Studio
Hi,
I'm pretty new to the MSP430. I'm working on a project about MSP430fr2355 and NRF24L01.
According to NRF24L01 datasheet, when the board receives the data, its RX_DR bit will set high and IRQ pin switch from high to low. I'm sure both functions work well after I testing them.
The function I want to achieve is when RF24 receives data, it gives an interrupt to MSP430 to execute other things, like increasing a variable, trigger LED on.
//---------------------------------------------------------------------------------------------------------------------------------------------------
Problem1:
I set a breakpoint in the while loop. But when IRQ pin is from high to low (data come), I resume the program many times, but variable "pin" never increase (I set this variable in Expression in debug mode). Is there something wrong with my ISR(interrupt services routine) or other parts?
Problem2:
From my perspective, it seems that the breakpoint prevents the program to run the ISR. Is my understanding right?
Problem3:
When I don't use the breakpoint, after I run the code, the Expressions will show " Could not read 0x2000: execution state prevented access". I wonder if are there any other technologies that can help me to verify whether my ISR work or not.
If anyone can help me, I’m so grateful!!! Thank you.
Here is part of code related to the interrupt. IRQ ( Pin 2.0 )
--------------------------------------------------------------------#include <msp430.h>
#include <stdint.h>
#include <nRF24L01.h>
int i; int pin;
int main(void)
{
WDTCTL = WDTPW | WDTHOLD;
//Configure Pin interrupt
P2DIR &= ~BIT0;
P2OUT |= BIT0;
P2REN |= BIT0;
P2IES |= BIT0;
P2IE |= BIT0;
P2IFG &= ~BIT0;
i = 1000;
pin = 0;
while(1){
i--; // I set breakpoint here
}
}
#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
pin++;
P2IFG &= ~BIT0; // Pin 2.0 flag clear
}
--------------------------------------------------------------------
Part Number:MSP430FR6972
Tool/software: Code Composer Studio
Hello ,
I am using msp430fr6972.
I am using LCD Program.
After Making the program I check the current,
an I find that it is very high(>250uA).
It is customized board.
And crystal used is 32768.
Lcd : MUX 4 & 22 Pins( upto S22).
My Program is :
LCD FUNCTION IS =========
void LCD_init(void)
{
unsigned int i;
P6SELC |= 0x7f;
// LCDCCTL0 = LCD4MUX + LCDDIV_26 + LCDPRE1 + LCDLP; //lcd control,lcd divide by 27 ,lcd frequency prescalar divide by2 ......gived 90 uA
// LCDCCTL0 = LCDDIV_26 | LCDPRE1 |LCD4MUX | LCDLP; //lcd control,lcd divide by 27 ,lcd frequency prescalar divide by2
LCDCPCTL0 |= 0xFFFF; // Segments 0-15
LCDCPCTL1 |= 0x007F; // Segments 16-22
LCDCVCTL |= 0x0040; //external connectio0n of lowest lcd voltage, no charge pump as no capacitor connected.
// LCDCCPCTL |= LCDCPCLKSYNC;
LCDCMEMCTL = LCDCLRM; // Clear LCD memory
LCDCCTL0 |= LCDON ;
for(i=0; i<12; i++) LCD[i] = 0x00;
}
MAIN FUNCTION WITH TIMER=====================================
char start_condition = 9;
char* LCD = LCDMEM;
const unsigned char lcd_num[12] = {
0xEB, // 0
0x60, // 1
0xAD, // 2
0xE5, // 3
0x66, // 4
0xC7, // 5
0xCF, // 6
0x61, // 7
0xEF, // 8
0xE7, //9
0x6F, // A
};
void LCD_init(void);
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
//PIN DEFINE===========================================================================
PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode
P1DIR= 0xF0 ; P2DIR =0x0F; P3DIR= 0xC0; P4DIR=0xFC; P5DIR=0x80; P7DIR= 0x1F;
P1OUT= 0xF0 ; P2OUT =0x0F; P3OUT= 0xC0; P4OUT=0xFC; P5OUT=0x80; P7OUT= 0x1F;
//TIMER======================================================================================
TA0CCTL0 |= CCIE;
TA0CCR0 = 32767; //1 sec timer
TA0CTL |= TASSEL__ACLK |MC_1 | ID_2 ; //TimerA control register, upto ccr, ID=0,divider1,
LCD_init();
start_condition = 8;
// __bis_SR_register(GIE);
while(1)
{
__bis_SR_register(LPM3_bits+GIE );
}// return 0;
}
/*
* Timer Interrupt====================================================================
*
*/
#pragma vector = TIMER0_A0_VECTOR
__interrupt void Timer0_A0_ISR (void)
{
if (start_condition != 0) {
LCD[0] = lcd_num[start_condition];
// TA0CCR0 = 32767;
start_condition--;
LPM3_EXIT;
}
}
Please check my LCD FUNCTION,
Please help me.
Regards,
Srijit.
Part Number:MSP430F5438A
Hello sir,
i am using 12 bit adc with ~1khz sampling frequency and uart baudrate of 115200. when receiving the ADC data using uart i am getting an extra character(symbol) as shown in fig. why this is coming along with data is there any mistake in code please check once.
thanks
#include "msp430f5438A.h"
#include<stdio.h>
#include<string.h>
#include <stdint.h>
void adcfunction(void);
void adcInit(void);
char buffer[10] = '\0';
static int SavedADC12MEM1;
#pragma vector=ADC12_VECTOR
__interrupt void ADC12_ISR(void)
{
SavedADC12MEM1 = ADC12MEM0;
P5SEL |= BIT6 + BIT7;
UCA1CTL1 |= UCSWRST;
UCA1CTL1 |= UCSSEL__SMCLK ;
UCA1BR0 = 9;
UCA1BR1 = 0;
UCA1MCTL = UCBRS_0;
UCA1CTL1 &= ~UCSWRST;
int k=0;
sprintf(buffer,"\r\n%d",SavedADC12MEM1);
while(buffer[k])
{
while(!(UCA1IFG&UCTXIFG));
UCA1TXBUF = buffer[k++];
}
while(!(UCA1IFG&UCTXIFG));
UCA1TXBUF='\n';
while(!(UCA1IFG&UCTXIFG));
UCA1TXBUF='\r';
__bic_SR_register_on_exit(LPM0_bits);
}
void adcInit(void)
{
P6SEL |= BIT7;
P6DIR &= ~BIT7;
REFCTL0 |= REFMSTR+REFVSEL_2+REFON+REFTCOFF;
ADC12CTL0 = ADC12ON + ADC12SHT0_10 + ADC12MSC;
ADC12CTL1 = ADC12SHP + ADC12CONSEQ_2 + ADC12SSEL_3 + ADC12DIV_1 ;
ADC12CTL2 = ADC12RES_2;
ADC12MCTL0 = ADC12INCH_7+ ADC12SREF_1;
ADC12IE = BIT0;
}
void adcfunction(void)
{
ADC12CTL0 |= ADC12ENC | ADC12SC;
__bis_SR_register(LPM0_bits+GIE);
__no_operation();
}
int main(void)
{
WDTCTL = WDTPW + WDTHOLD;
adcInit();
while(1)
{
adcfunction();
__bis_SR_register(LPM0_bits+GIE);
}
}
Part Number:MSP430F5342
This project uses the USCI with IrDA and we would like to know if it is possible to use auto-baud detection in this mode. I inconsistently see baud rate register divider (UCAxBR0) get updated, but the register gets updated to a value 1/2 of what we would expect. A majority of the time, the baud rate is not changed. In our implementation a 1 bit is high for the entire bit period, but a 0 bit is low for 1/2 a bit period, so it performs what I would call return to 1. I wondering if this is causing an issue for the auto-baud detection. Further, I never see the break bit (UCBR) get set. Should we see this bit get set if the auto-baud detection is working correctly?
Question 1: Does auto-baud rate detection work with IrDA?
Question 2: If the answer to question 1 above is yes, is there something about our implementation that would indicate auto-baud detection won't work for us?
Thank you
Part Number:EVM430-F6779
Tool/software: TI C/C++ Compiler
Dear all,
We are using EVM430-F6779 for power metering applications. Although we are getting correct values for Voltage, Current and power, we are facing issues with the VTHD and ITHD measurements. The raw value we are getting for ITHD measurements are 12217. We are unable to interpret the value. Could you please provide support in interpreting this value. Below are the details we are using for the code and application.
Code: TIDM-THDREADING
THD Measurement: IEC_THD_F_SUPPORT
Appliance: Variable Frequency Drives
Code snippet for the THD calculation (Using the default code and no changes were made, File name: metrology-foreground.c)
x = (int64_t) phase->readings.fundamental_V_rms*phase->readings.fundamental_V_rms;
y = (int64_t) phase->readings.V_rms*phase->readings.V_rms;
/* Prevent tiny errors in x and y from leading to tiny negative values for THD */
if (x >= y)
return 0;
z = y - x;
#if defined(IEC_THD_F_SUPPORT)
z = isqrt64(z);
z /= phase->readings.fundamental_V_rms;
z *= 10000;
y = z >> 32;
#endifKindly let us know if any information is needed.
Part Number:MSP430F2619
Hi,
We are running a MSP430F2619 with the watchdog enabled to trigger a reset if not acknowledged.
But we occasionally get a unexpected watchdog interrupt (int26 from address 0FFF4h).
The watchdog is configured like this:
When we are reading registers in that interrupt, we see that:
We use USCI_B1 as a I2C slave and that I2C is running actively while the watchdog interrupt occurs.
So we have a watchdog interrupt but it shouldn't trigger as it is not enabled.
We were also able to ensure that:
So after investigation, it seems the watchdog interrupt handler is really triggered by a real watchdog interrupt from the MSP itself.
So we have questions about the MSP behavior:
Thanks for your help.
Regards,
Alexis Murzeau
Part Number:MSP430F5529
Tool/software: TI C/C++ Compiler
hello,
im using msp430f5529, Im facing a strange problem where i use UART to send data to ESP8266 wifi module and also receive the same.
my question is while transmitting and receiving data through uart it work properly. but when i used timer in between any function, my transmitting part get stopped when using timer.
my timer is approx 60 sec delay, i.e. my transmitting process holds for 60 sec when timer runs and after that when my timer get suspend the uart start sending data properly.
As we all know our msp430f is a multitasking controller, so why we are facing this problem?
please help me.
here im attatching some uart function and timer function.
//////////// timer function //////////////
void timer()
{
P4OUT|=BIT0;/// GREEN
P4OUT&=~BIT1;
TBCCTL0 = CCIE; // TBCCR0 interrupt enabled
TBCCR0 = 65534;
TBCTL = TBSSEL_1 + MC_3 + TBCLR; // SMCLK, upmode, clear TBR
__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, enable interrupts
}
//////////////////////// timer interrupt ////////////////////////
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=TIMERB0_VECTOR
__interrupt void TIMERB0_ISR (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(TIMERB0_VECTOR))) TIMERB0_ISR (void)
#else
#error Compiler not supported!
#endif
{
if(count_1==5)
{
TBCTL &=~ MC_3;
P4OUT&=~BIT0; /// GREEN
count_1=0;
__bic_SR_register_on_exit(LPM0_bits + GIE);
}
count_1++;
}
////////////////////////////////////// UART SEND ////////////////////////////////////////
void send_uart(char *addr)
{
unsigned int i;
__disable_interrupt();
unsigned int size =strlen(addr);
for(i=0;i<size;i++)
{
while(!(UCA0IFG & UCTXIFG));
UCA0TXBUF = addr[i];
}
__enable_interrupt();
}
//////////////////////////////////UART INTERRUPT///////////////////////////////////////
#if defined(__TI_COMPILER_VERSION__)|| defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
#elif defined(__GNUC__)
void__attribute__((interrupt(USCI_A0_VECTOR))) USCI_A0_ISR (void)
#else
#error compiler not supported!
#endif
{
switch(__even_in_range(UCA0IV,4))
{
case 0:break;
case 2:
//while(!(UCA0IFG&UCTXIFG));
*tx= UCA0RXBUF;
tx++;
break;
case 4:break;
default:break;
}
}Part Number:MSP430FR6989
hello,
Ive been trying to interface an 128x64 lcd driven by ST7567 using u8g2 library on msp432p401r on energia thanks to this post it worked like a charm ("https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/764653/2830247?tisearch=e2e-sitesearch&keymatch=u8g2#2830247"). But now i tried the same code with MSP430FR6989 same code same display but only changed the board . its says fatal error assert.h no such file or directory i used the hello world code full buffer. Can any body help me out with this.
Part Number:MSP430FR5962
Tool/software: Code Composer Studio
Hi, I have an application requiring LPM3.5 with wakeup from RTC and external Interrupt on Port1. Everything works quite fine as long as the application is run with the debugger attached. I measure some analog voltage and a comperator input is used to start LPM3.5 (disable all peripherals, enable RTC event, enable Port 1 interrupt).
During normal operation the UART is used to communicate with the device as well as some port pins are connected to LED. Running the application from debugger, LPM enter and exit work quite fine and I see as reset reason in status registers the LPM.5 exit. If I start the application from debugger, disconnect the debug session (application still running and working as expected), and enter LPM 3.5 there is no way to reactivate the device with the port interrupt.
What is the difference in the HW if debugger is connected or disconnected and what could be a solution to my problem? An hints wellcome.
Best regards
Christin
Part Number:MSP-TS430DA38
Tool/software: Code Composer Studio
HI SIR,
i am used i2c sample code(MSP430f2252) from TI Resource explorer using interrupt... Its possible for without interrupt in I2C? using msp430f2252. if possible can you give sample code...
thanking you
Siranjeevi.M
Part Number:MSP430FR5989
Hi ,
is there a way for the application to read a location on the device that could cause a voluntary correctable and un-correctable error for the application to do a run time check on the error handling mechanisms (both HW and SW)?
Or is there a way to corrupt a fixed location in FRAM to cause a correctable and uncorrectable error when it is read?
I'm looking for a way to implement something that could test our error handling in application.
Best Regards
Santosh Athuru