Part Number:MSP430FR2512
In which usage fields (automotive, etc.) the CapTIvate MSP430 family is mostly used? Among these, are there also applications assigned to a safety integrity level (SIL)?
Part Number:MSP430FR2512
In which usage fields (automotive, etc.) the CapTIvate MSP430 family is mostly used? Among these, are there also applications assigned to a safety integrity level (SIL)?
Part Number:MSP430FR2512
As I understand it, the CapTIvate Touch library is user-configurable.
1. Is it correct that the application code comprises a tool generated user config which contains sensor conversion control and tuning parameters for initializing the Captivate hardware and configuring the CapTIvate Touch library functionality?
2. can any auto-tuning algorithm for sensor parameters (runtime recalibration, dynamic threshold adjustment, etc.) be completely deactivated? Is there detailed information about how these algorithms work?
Part Number:MSP430FR2512
I have some questions regarding the MSP430 FRAM devices bootloader (BSL) functionality:
1. Can the BSL be bypassed and a custom bootloader be installed in FRAM? If so, how will the BSL be bypassed ?
2. Does the bootloader do any initialization of hardware which is mandatory for running an application, or does the application itself initialize the hardware (BSP initialization) ?
3. Is the bootloader using the MSP Peripheral Driver Library?
4. As I understand it, the bootloader is a resident software in ROM which can optionally be configured via a specific FRAM location. Is this config written by an external programmer or by the application code?
5. Who checks the BSL entry sequence on the RST/NMI and TEST pins which decides whether bootloader or application is started? Is there any other resident software on the device which implements the boot functionality? If yes, are there documentation and tests available?
6. Concerning certification, is there a Test Suite (testcases, test procedures, verification results) available for the bootloader software in ROM?
MSP430™ FRAM devices bootloader (BSL)
Part Number:MSP430FR2512
What exactly is the FRAM area called "Information FRAM" ?
Part Number:EVM430-F6736
Hi all,
i'm working on EVM430F6736 development board. i given the AC supply as 230V to board. But in my energy meter reading, it shows 210V. How to adjust/ get the 230V reading on this board? is any adjustment happen on Vrms scaling factor? I'm facing this also in current measurement. Pease give me a solution for these problem.
Thanks & Regards,
Poovai Anitha.L
Part Number:MSP430F4270
Dear all,
I'm trying to do some DSP with the 4270 since it has an A/D and D/A. I have two questions:
1. Is there a good way to synchronize the input and output sample rates?
2. What is the best way to achieve the fastest sampling? i.e., how can I increase the clock going to the A/D and D/A and should I use interrupts?
Here's my code so far:
//***************************************************************************** // Audio Feedthru // // MSP430F4270 // ----------------- // | | // | DAC0/P1.4|--> Analog Out // | | // Vin+ -->|A0+ | // Vin- -->|A0- | // | | // | VREF |---+ // | | | // | | -+- 100nF // | | -+- // | | | // | AVss |---+ // //***************************************************************************** #include <msp430.h> unsigned int result; int main(void) { WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer FLL_CTL0 = DCOPLUS + XCAP14PF; // DCO+ set so freq = xtal x D x N+1 SD16CTL = SD16REFON+SD16SSEL0; // 1.2V ref, SMCLK SD16CCTL0 |= SD16SNGL+SD16IE+SD16BUF_3 ; // Single conv, enable interrupt, high impedance SD16INCTL0 |= SD16INTDLY_0; // Interrupt on 4th sample unsigned int i; for (i = 0; i < 10000; i++); // Delay for 32 kHz crystal __enable_interrupt(); // Enable general interrupts SD16CTL = SD16REFON; // 1.2V ref DAC12_0CTL = DAC12OPS + DAC12SREF_2 + DAC12IR + DAC12AMP_5 + DAC12ENC; // DAC o/p external, Ref Voltage = internal (SD16), // O/p Voltage range = 1x ref, Enable conversion while(1){ DAC12_0DAT = result >> 1; // Send A/D result to D/A SD16CCTL0 |= SD16SC; // Set bit to start A/D conversion __bis_SR_register(LPM0_bits); // Enter LPM0 } } #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=SD16_VECTOR __interrupt void SD16ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(SD16_VECTOR))) SD16ISR (void) #else #error Compiler not supported! #endif { switch (SD16IV) { case 2: // SD16MEM Overflow break; case 4: // SD16MEM0 IFG result = SD16MEM0; // Save CH0 results (clears IFG) break; } __bic_SR_register_on_exit(LPM0_bits); // Exit LPM0 }
thank you,
Scott
Part Number:MSP430F5529
Hi all,
We have some boards sporting a msp430f5529 (we needed USB) with a code snippet which, from time to time, gets stuck.
However, I do not understand how can this happen if no IRQ are allowed. Please let me share it in a summarized manner:
// Loop until XT1,XT2 & DCO stabilize do { UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); SFRIFG1 &= ~OFIFG; } while (SFRIFG1 & OFIFG);
We Hwi_disable() before this loop, we also have tried __bic_SR_register(GIE) and we hwi_enable(), that is __bis_SR_register(GIE) after this loop.
So, any idea why this could be getting stuck sometimes? Most of the times it just works fine and even you can provoke some loop iterations by physically interacting with the clock and, once you remove your interaction, it recovers itself. Instead, when this issue occurs on its own, the only way to recover the board is by power cycling it.
Any ideas?
Have a nice weekend.
Part Number:MSP-EXP430FR2355
Hi,
I am trying to interface a 4x4 matrix keypad with the MSP430FR2355 keypad. I have the 4 columns set as inputs on P3.0-P3.3 and the 4 rows set as outputs on P3.4-P3.7. I have the inputs connected to internal pull-up resistors, so their default value should be 1 and I also set the outputs to be default high. To find the key pressed, I am going through one by one and setting a row low and checking to see if any of the buttons were pressed on that column (if a button was pressed, that input pin should read 0). However, P3IN isn't reading the correct values and always shows P3.0 (column 0) to be equal to zero. I commented that pin out to see if the other buttons were working, but P3IN doesn't register the right buttons being pressed. I've posted my code below.
#include <msp430.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <math.h>
#include "msp430fr2355.h"
#define COL0 (P3IN & BIT0)
#define COL1 (P3IN & BIT1)
#define COL2 (P3IN & BIT2)
#define COL3 (P3IN & BIT3)
#define PRESS 0
//Functions
char getKey(void);
void delay_ms(unsigned int ms);
int main(void){
WDTCTL = WDTPW | WDTHOLD; //Stop watch dog timer
char key[] = " ";
while(1){
key[0] = getKey();
}
}
char getKey(void){
P3SEL0 &= 0x00;
P3DIR = 0xF0;
P3OUT &= 0x00;
P3REN |= 0x0F; //Enable resistor
P3OUT |= 0xFF; //Set resistor to pull-up
delay_ms(100);
//Scan Row 0
P3OUT &= (~BIT4); //set P3.4 low
if(COL0 == PRESS){
//delay_ms(50);
return 0x31; //1
}
if(COL1 == PRESS){
//delay_ms(50);
return 0x32; //2
}
if(COL2 == PRESS){
//delay_ms(50);
return 0x33; //3
}
if(COL3 != PRESS){
//delay_ms(50);
return 0x41; //A
}
P3OUT |= (BIT4);
//Scan Row 1
P3OUT &= (~BIT5); //set P3.5 low
if(COL0 == PRESS){
//delay_ms(50);
return 0x34; //4
}
if(COL1 == PRESS){
//delay_ms(50);
return 0x35; //5
}
if(COL2 == PRESS){
//delay_ms(50);
return 0x36; //6
}
if(COL3 == PRESS){
//delay_ms(50);
return 0x42; //B
}
P3OUT |= (BIT5);
//Scan Row 2
P3OUT &= (~BIT6); //set P3.6 low
if(COL0 == PRESS){
//delay_ms(50);
return 0x37; //7
}
if(COL1 == PRESS){
//delay_ms(50);
return 0x38; //8
}
if(COL2 == PRESS){
//delay_ms(50);
return 0x39; //9
}
if(COL3 == PRESS){
//delay_ms(50);
return 0x43; //C
}
P3OUT |= (BIT6);
//Scan Row 3
P3OUT &= (~BIT7); //set P3.7 low
if(COL0 == PRESS){
//delay_ms(50);
return 0x2A; //star
}
if(COL1 == PRESS){
//delay_ms(50);
return 0x30; //0
}
if(COL2 == PRESS){
//delay_ms(50);
return 0x23; //#
}
if(COL3 == PRESS){
//delay_ms(50);
return 0x44; //D
}
P3OUT |= (BIT7);
return 0x00; //NULL
}
void delay_ms(unsigned int ms){
while(ms){
__delay_cycles(1000); //1000 for 1MHz (default clock setting)
ms--;
}
}
Part Number:MSP430FR2000
Hello,
for a 3.6V battery application, during the 99.99% of the time, my device will be in sleep (or other ultra low power) mode, but I need to have one output in high or low level, and I can not loss this state, because it drives a small mosfet.
I have 2 input to wake-up from sleep (or other ultra low power) mode by interrupt.
I don't use external crystal, and nor the RTC.
I need to use the ultra low power LPM4.5, but I have some questions:
1) can I use any pin with interrupt feature or do I use a specific pins to wake-up from LPM4.5?
2) I can't loss the output pin... can I do it using LPM4.5?
3) Do I need to use a BackupMem to store the state of output pin?
I await for any reply.
Thank You and Best Regards
Federico Battaglin
Part Number:EVM430-F47197
Hi.
My customer is asking for the user guide of EVM430-F47197. I have searched the website and I could not find one. Can you help me to obtain one?
Thank you.
Part Number:MSP432P401R
Tool/software: TI-RTOS
Hi all: I'm using serveral threads in my system. One of that threads is updating a set of global variables, and other threads are accessing to that variables to read the content and make some calculations... I'm using the POSIX API. The thread writing the variables has a code like:
... res = ADC_convert(adc_pin1, &adc_pin1_value); if (res == ADC_STATUS_SUCCESS && !(pthread_rwlock_wrlock(pin1_lock))) { pin1 = ADC_convertRawToMicroVolts(adc_pin1, adc_pin1_value); pthread_rwlock_unlock(pin1_lock); }
Other threads reading that value:
uint32_t _pin1 = 0; if (!pthread_rwlock_rdlock(pin1_lock)) { _pin1 = pin1; pthread_rwlock_unlock(pin1_lock); }
It's the correct way? It's necessary synchronization mechanism with simple data types like uint32_t? (I've a lot of shared vars and I'm trying to simplify all the code)
Part Number:TIDA-00637
Tool/software: Code Composer Studio
Hello,
I've made the exact circuit described in TIDA-00637 EVSE charger. I loaded the program and I'm getting 20 errors and I can't figure out why. Below are my errors.
Part Number:MSP430G2755
Tool/software: Code Composer Studio
I've got new board in and I cannot get it CodeComposer to detect it. I'm jumping 3.3V on to the board, so the only parts populated are the JTAG connector and the MSP430G2755 microcontroller. The current draw looks reasonable, 84uA @ 3.3V. At first pin 1, TEST, was not connected, but I've jumped that to 3.3V to enable the JTAG pins 35-38.
I've double checked the following connections
Pin | Connection |
1 - Test | jumpedto 3.3V |
2, 16 - Vcc | 3.3V |
4, 15 - Vss | GND |
35 - TCK | |
36 - TMS | |
37 - TDI | |
38 - TDO |
I've hooked a scope up to the JTAG lines. TCK looks like a clock, and TDO has a burst of data.
What am I doing wrong? I need help.
Thanks
Part Number:MSP430G2744
Hi Sir,
May I learn from you does MSP430G2x44 series have larger RAM? like 2KB or 4 KB.
If not, could you advice a solution which have similar function but larger RAM?
Thank you for your kindly help.
Edward Chen
Part Number:MSP432P4011
Tool/software: Code Composer Studio
Hello everybody,
I'm using the DriverLib documentation to interface an IMU9255 with MSP432, but I don't know how I can send a "read/write" bit using the DriverLib functions. Figure 1 shows a print of all send functions in DriverLib, but neither of them has a "read/write" input. Figure 2 shows the i2c sending sequence, and it needs a "read/write" bit.
Could you guys know how I can find a solution for this?
FIGURE 1.
FIGURE 2.
Part Number:MSP430FR2355
Hello,
I am currently using the MSP430FR2355 to interface with a Graphic OLED Display: NHD-3.12-25664UCB2 with a SSD1322 Controller and was wondering if anyone has come across any font libraries written for the MSP430 family. Even font libraries written for a different, yet similar display would be very helpful.
Thanks in advance!
Part Number:MSP430FR2433
In DriverLib eusci_b_i2c.c in function EUSCI_B_I2C_initMaster() this code seems in error and doesn't seem to match the comment.
/*
* Compute the clock divider that achieves the fastest speed less than or
* equal to the desired speed. The numerator is biased to favor a larger
* clock divider so that the resulting clock is always less than or equal
* to the desired clock, never greater.
*/
preScalarValue = (uint16_t)(param->i2cClk / param->dataRate);
HWREG16(baseAddress + OFS_UCBxBRW) = preScalarValue;
The division is unsigned and fraction is truncated. Thus the preScalarValue (the clock divider) is smaller and the actual data rate (frequency) greater than desired.
For example for param->i2cClk of 1M and param->dataRate of 400k (the max I2C data rate), preScalarValue is 2 (2.5 with fraction truncated).
Thus the actual data rate will be 500kbps, which is FASTER than desired.
I don't see any code that "biased" the numerator.
CCS 8.02 and a fairly recent version of MSPWare DriverLib
Part Number:BOOSTXL-SHARP128
Hi,
I would like to get my BOOSTXL-SHARP128& MSP-EXP430FR5969 to work at the lowest possible power. Ideally I'd like to get it working with the MSP-EXP430F5529, as I need the extra GPIOs, but for now I'm using the 5969 to debug.
I've managed to get the current consumption down from ~900 uA to 140 uA by initialising all of the ports as outputs. The current consumption remains the same with the module disconnected. The only way I can get the current consumption down to LPM (sub-uA) levels is to comment out all of the myScreen functions. Can anyone help? I need to get the display module working with my Launchpad at lowest possible power asap.
Is there something I'm missing?
Thanks in advance.
#include "SPI.h" #include "OneMsTaskTimer.h" #include <LCD_SharpBoosterPack_SPI.h> LCD_SharpBoosterPack_SPI myScreen(SHARP_128); uint8_t myOrientation = 0; uint16_t myCount = 0; #define LCD_VERTICAL_MAX myScreen.getSize() #define LCD_HORIZONTAL_MAX myScreen.getSize() void setup() { Serial.begin(9600); myScreen.begin(); myScreen.clearBuffer(); pinMode(GREEN_LED, OUTPUT); pinMode(PUSH2, INPUT_PULLUP); attachInterrupt(PUSH2, interrupt, FALLING); digitalWrite(GREEN_LED, LOW); P1DIR |= BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7; P1OUT &= (~BIT1)+(~BIT2)+(~BIT3)+(~BIT4)+(~BIT5)+(~BIT6)+(~BIT7); P2DIR |= BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7; P2OUT &= (~BIT0)+(~BIT1)+(~BIT2)+(~BIT3)+(~BIT4)+(~BIT5)+(~BIT6)+(~BIT7); P3DIR |= BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7; P3OUT &= (~BIT0)+(~BIT1)+(~BIT2)+(~BIT3)+(~BIT4)+(~BIT5)+(~BIT6)+(~BIT7); P4DIR |= BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7; P4OUT &= (~BIT0)+(~BIT1)+(~BIT2)+(~BIT3)+(~BIT4)+(~BIT6)+(~BIT5)+(~BIT7); } void loop() { delay(10); Serial.print("loop"); myScreen.setFont(1); myScreen.setCharXY(10, 10); myScreen.print("TEST"); myScreen.flush(); sleep(1000); myScreen.clear(); suspend(); } void interrupt(){ //delay(10); wakeup(); }
Part Number:MSP430F5328
Hi ,
Iam trying to generate random number of 48 bits.
I have an exiting serial number
#define KNX_SERIAL_NR_INIT 0x00,0x72,0xff,0xff,0xC0,0x12
Which will be sinilar to all the device. Iam trying to implement random number and flash it in EEPROM
MEMSEG_EEPROM DM_tDeviceConst DM_deviceConst =
{
{KNX_SERIAL_NR_INIT}, // serial number
{KNX_HW_TYPE}, // hardware type
{APP_ORDER_NR}, // order number
{0,0,0,0}, // manufData
};
i read the blog for serial number random number
with 3 sample files fips_test.c, vlo_rand.h and vlo_rand.s43
But when i use it in my project iam getting error for undefined extern function TI_getRandomIntegerFromVLO
I have copied all tyhe files to my directory and changed header
#include <msp430f5328.h>
#include "vlo_rand.h"
Kindly advice!
Thanks
Best regards
Raj
Part Number:MSP430G2553
Tool/software: TI-RTOS
Hello , I have a problem of measure frequency
I used timer capture mode with P2.1(TA1.1) to get input singal (which is almost 0~266Hz function wave);
But the Precision is not accurate.
And I measure the same freq for 1HZ frequenct that i get a random value for my variable (timer_temp) value; It is random
so please help me to debug.
1.The problem is timer is not 0.5us for clock;(I see that is almost equal 0.50766u s for one timer clock)
2.All the frequency range is not accurate.... assume the 255Hz , the code will get 240~266Hz....
I can't find the bug please help me thx.
This is my project.
(Please visit the site to view this file)