Quantcast
Viewing all 262198 articles
Browse latest View live

MSP-EXP430FR5994: Cannot get Application/Backchannel UART to work

Part Number:MSP-EXP430FR5994

As described with the MSP430FR5994 LaunchPad™ Development Kit User's Guide (SLAU678A) section 2.2.4, the Application UART is connected to the eUSCI_A0. The datasheet points out P2.0 and P2.1 as the pins for eUSCI_A0 transmit and receive.

I tried the register level peripheral example "eUSCI_A0 UART echo at 9600 baud using BRCLK = 8MHz" and modified the source to actually meet eUSCI_A0 (the example source code uses eUSCI_A3 actually).

However, I could not get the simple example to work...

int main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer

    // Configure GPIO
    P2SEL1 &= ~(BIT0 | BIT1);
    P2SEL0 |= (BIT0 | BIT1);                // USCI_A0 UART operation

    // Disable the GPIO power-on default high-impedance mode to activate
    // previously configured port settings
    PM5CTL0 &= ~LOCKLPM5;

    // Startup clock system with max DCO setting ~8MHz
    CSCTL0_H = CSKEY_H;                     // Unlock CS registers
    CSCTL1 = DCOFSEL_3 | DCORSEL;           // Set DCO to 8MHz
    CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK;
    CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1;   // Set all dividers
    CSCTL0_H = 0;                           // Lock CS registers

    // Configure USCI_A0 for UART mode
    UCA0CTLW0 = UCSWRST;                    // Put eUSCI in reset
    UCA0CTLW0 |= UCSSEL__SMCLK;             // CLK = SMCLK
    // Baud Rate calculation
    // 8000000/(16*9600) = 52.083
    // Fractional portion = 0.083
    // User's Guide Table 21-4: UCBRSx = 0x04
    // UCBRFx = int ( (52.083-52)*16) = 1
    UCA0BRW = 52;                           // 8000000/16/9600
    UCA0MCTLW |= UCOS16 | UCBRF_1 | 0x4900;
    UCA0CTLW0 &= ~UCSWRST;                  // Initialize eUSCI
    UCA0IE |= UCRXIE;                       // Enable USCI_A0 RX interrupt

    UCA0TXBUF = 'r';
    UCA0TXBUF = 'e';
    UCA0TXBUF = 'a';
    UCA0TXBUF = 'd';
    UCA0TXBUF = 'y';

    __bis_SR_register(LPM3_bits | GIE);     // Enter LPM3, interrupts enabled
    __no_operation();                       // For debugger

	return 0;
}



#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=EUSCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(EUSCI_A0_VECTOR))) USCI_A0_ISR (void)
#else
#error Compiler not supported!
#endif
{
    switch(__even_in_range(UCA0IV, USCI_UART_UCTXCPTIFG))
    {
        case USCI_NONE: break;
        case USCI_UART_UCRXIFG:
            while(!(UCA0IFG&UCTXIFG));
            UCA0TXBUF = UCA0RXBUF;
            __no_operation();
            break;
        case USCI_UART_UCTXIFG: break;
        case USCI_UART_UCSTTIFG: break;
        case USCI_UART_UCTXCPTIFG: break;
        default: break;
    }
}

What did I miss?


CC2650: SW on PC or on mobile to sniff BLE packets without extra HW

Part Number:CC2650

Hello everybody , 

I woud like to  sniff   BLE   using my PC /my mobile   but ideally not using any CC25xx  dongle : is it possible ?

any suggestion ?

thank you 

regards

Carlo

AM5728: Camera module not detected

Part Number:AM5728

Hi

My TMDSCM572X is not working anymore. I got the following messages in udev log:

[ 5.633757] mt9t11x 4-003c: input-clock-freq: 32000000
[ 5.638955] mt9t11x 4-003c: pixel-clock-freq: 96000000
[ 5.718797] mt9t11x 4-003c: Product ID error ffffff87

I have tested in on 2 different EVM boards.

How we can test the camera hardware?

I saw the following post indicates that the sensor has gone:

Image may be NSFW.
Clik here to view.

DLP2010: DLPC3470 usable also for ordinary HDMI video displaying?

Part Number:DLP2010

The difference between DLPC3470 and DLPC3435 seems to be that DLPC3470 supports highspeed monochrome video streaming unlike DLPC3435. Other than that, and price difference, is there anything the older chip can do which the DLPC3470 cannot?

Reason for asking is, if you want to build a device that can do both, used as an ordinary pico video projector, as well as highspeed monochrome projector, can you just get away with using one chipset?

dlp2000 evm

Hello;

I was wondering if it is possible to get a file with the full contents of the 2607 flash memory?

Thanks in advance

Samir Lehaff

DRV5032: Wired-OR Usage

Part Number:DRV5032

Hi, I'd like to use the DRV5032 in a magnetic keypad. Just like a normal keypad, the switches would be muxed into an MxN array, where you'd drive the first column, and the read the rows, drive the next column, and then read the rows, etc.

The question I have is whether or not an DRV5032 with an open-drain output could have 3.3V applied to the output while the power to the part is off. If the part functioned as shown in the figure 8.2 diagram, then the output mosfet would be fine. And a discrete implementation of the circuit would be fine. But of course there can be parasitic diodes that will result in leakage back to the DRV5032 core. Thus, my question.

The absolute max ratings suggest this cannot be done. But it's such a useful mode of operation for an open drain circuit I thought I'd ask.

TPS25741: USB Type-C power management controller for USB Accessory Box product

Part Number:TPS25741

Hi Team,

Please review my request in the attached file.

Thanks,

Shlomi

(Please visit the site to view this file)

ADS1292: ADS1x9xEVM

Part Number:ADS1292

Hi Team,

I am trying to test the ADS1292REVM but I didn't success to recognize the EVM even I saw it in device manager.

I try in 2 laptops (Windows 7 & Windows 10).

Attached the message I got.

Do you have any idea what the problem?

Thanks,

Shlomi

Image may be NSFW.
Clik here to view.


TPS61045: Increasing current capacity with mosfet

Part Number:TPS61045

I would like to know if its safe to add an external MOSFET to the SW output of this regulator.

I have an application where i need a digitally controllable output of 5v or 12v select able. I also need about 14W of power.

I do realize the soft start and current limiting capabilities will be compromised.

TPS54020: Looking for an IBIS model

Part Number:TPS54020

Hey I was looking through your models page, and found IBIS models for all of the parts my company is using except for the TPS54020.
Does the IBIS model exist for this part, and where can I find it?

Thanks

BQ24074: BQ24074 Charge Current seting

RM48L952: HALcogen v4.07.00 not reported correctly in .hcg or about dialog

Part Number:RM48L952

I have been having trouble getting DCC working and we noticed some info in the release notes and forums about problems in v4.06.xx of HALcogen. I was sure I was running latest 4.07.00 but now I have some doubts that the install is correct. I have made sure all older versions are uinstalled and deleted but I get the following ocnflicting information when I open halcogen, check the about dialog or look in the .hcg file. Is this a known issue, can I be confident I am generating latest code?

Image may be NSFW.
Clik here to view.

Image may be NSFW.
Clik here to view.

Image may be NSFW.
Clik here to view.

DLP2010: What LEDs are used in the DLP2010EVM (Lightcrafter 2010)?

Part Number:DLP2010

What LEDs are used in the DLP2010EVM (Lightcrafter 2010)? Would like to know their datasheets and specs.

Need to have them disconnected from the EVM PCB and driven manually so would like to know their recommended V/A rating for continuous operation (not modulating).

CCS/LAUNCHXL-CC2650: Where can I find the older versions of XDC Tools package(s)?

Part Number:LAUNCHXL-CC2650

Tool/software: Code Composer Studio

Hi there,

I was trying to build the pinInterrupt example from the SimpleLink Academy and ended up with build errors:


**** Build of configuration Debug for project pinInterrupt_CC2650F128 ****

"C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 4 all -O

Building file: "../pinInterrupt.cfg"
Invoking: XDCtools
"C:/ti/xdctools_3_32_00_06_core/xs" --xdcpath="C:/ti/tirtos_simplelink_2_13_01_09/packages;C:/ti/tirtos_simplelink_2_13_01_09/products/bios_6_42_00_08/packages;C:/ti/tirtos_simplelink_2_13_01_09/products/uia_2_00_02_39/packages;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.M3 -p ti.platforms.simplelink:CC2650F128 -r release -c "C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS" --compileOptions "-mv7M3 --code_state=16 -me --include_path=\"C:/ti/workspace_peeva/pinInterrupt_CC2650F128\" --include_path=\"C:/ti/tirtos_simplelink_2_13_01_09/products/cc26xxware_2_21_01_15600\" --include_path=\"C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/include\" -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi " "../pinInterrupt.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring pinInterrupt.xem3 from package/cfg/pinInterrupt_pem3.cfg ...
generating custom ROM library makefile ...
Starting build of library sources ...
making C:/ti/workspace_peeva/pinInterrupt_CC2650F128/src/sysbios/sysbios.aem3 ...
gmake[1]: Entering directory `C:/ti/workspace_peeva/pinInterrupt_CC2650F128/src/sysbios'
Preprocessing library source files ...
gmake[1]: Leaving directory `C:/ti/workspace_peeva/pinInterrupt_CC2650F128/src/sysbios'
Build of libraries failed.
subdir_rules.mk:26: recipe for target 'build-1391039777-inproc' failed
gmake[1]: *** No rule to make target `C:/ti/workspace_peeva/pinInterrupt_CC2650F128/Debug/configPkg/package/cfg/ti.sysbios.knl.Clock_config.c', needed by `mangled_ti.sysbios.knl.Clock_config_lib.pp'. Stop.
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [C:/ti/workspace_peeva/pinInterrupt_CC2650F128/src/sysbios/sysbios.aem3] Error 2
error: xdc.cfg.SourceDir: "C:/ti/xdctools_3_32_00_06_core/packages/xdc/cfg/SourceDir.xs", line 209: xdc.cfg.SourceDir : Build of generated source libraries failed: exit status = 2:

js: "C:/ti/xdctools_3_32_00_06_core/packages/xdc/cfg/Main.xs", line 160: Error: Configuration failed!
gmake.exe: *** [package/cfg/pinInterrupt_pem3.xdl] Error 1
gmake.exe: *** Deleting file `package/cfg/pinInterrupt_pem3.xdl'
gmake.exe: *** [package/cfg/pinInterrupt_pem3.xdl] Deleting file `package/cfg/pinInterrupt_pem3.h'
gmake.exe: *** [package/cfg/pinInterrupt_pem3.xdl] Deleting file `package/cfg/pinInterrupt_pem3.c'
js: "C:/ti/xdctools_3_32_00_06_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
gmake[1]: *** [build-1391039777-inproc] Error 1
gmake: *** No rule to make target 'build-1391039777', needed by 'configPkg/compiler.opt'.
gmake: *** No rule to make target 'build-1391039777', needed by 'configPkg/compiler.opt'.
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

I am not sure if the errors are due to compatibility issues in the project with the latest version of XDC package; when the project was imported from Resource Explorer, I did receive a warning regarding a requirement or missing tools for an older version of XDC package.

Best,

AM

AFE5401-Q1: Tri-State mode for Data output pins, DCLK, DSYNCx

Part Number:AFE5401-Q1

I branched off a question of a similar issue but did not see an answer. Is it possible with any of the hardware pins

on the AFE5401 to tri-state the ADC outputs (D0 - D11) and Dsync GPO's?


PGA460: DSP Frequency Accuracy

Part Number:PGA460

Hi Team,

I have a customer planning on using the PGA460 in an ultrasonic distance sensor for robotic applications and have a question they would like to clarify:

The PGA460 data sheet indicates that the DSP frequency accuracy is +/-4%, and this is used as the basis for setting the drive waveform frequency delivered to the ultrasonic sensor.  However, piezo ultrasonic transducers generally specify +/-1% frequency accuracy.  The datasheet is somewhat ambiguous, but I’m wondering if the PGA460 tunes the actual drive frequency to the resonance peak of the transducer.  If not, how does one ensure that the transducer is driven at resonance?

Thanks for the help and insights.

Best regards,

Jerry

Ultrasonic Sensor and Conditioning Circuitry Recommendations

Hi,

I'm looking for a solution to sense the level of solids in a tank (e.g. grain, wood pellets, plastic pellets, etc.).  What would be the most straight forward TI design and eval kit to test this out?

Thanks

CCS/MSP430FR4133: ADC counts issues

Part Number:MSP430FR4133

Tool/software: Code Composer Studio

Hi all, 

So bottom line, I'm incredibly confused. I've been stumped by the same issue for a week now and need some help. I am using the MSP430fr4133 and attempting to read from any of the external ADC pins. I have some previous experience with some other microcontrollers so I'm not completely new to this. I have some key questions. As far as hardware, I have attempted reading pins with a constant voltage source, or directly tied to ground and instead and I am reading some count number that is completely independent, however, not independent of temperature, if you were interested. 

1. The sampling and holding time affects the read counts, one above 32 clock cycles, the fluctuations reduce from plus/minus 20 to plus/minus 2. 

2. Changing the reference voltage has no effect on this floating number. 

3. Changing between 8-10-12 bit conversions has no effect on the floating number. 

4. Confirm that when ADCSHP is set to 0, ADCSC starts conversions. If I set it to 0, then the entire conversion doesn't work. I have no timers setup so it wouldn't make sense with it being set to 1, however, it only conducts conversions when the ADCSHP is 1. 

#include <msp430.h>
#include <string.h>
#include <stdio.h>
#include <driverlib.h

void SYSTEMinit();
void UARTinit();
void ADCinit();
int writeUART(char* sentence);
int analog (int channel);
int tempConvert(int counts);

int main(void)
{
char buffer[30];
SYSTEMinit();
UARTinit();
ADCinit();

int temp = 0;
while(1)
{
sprintf(buffer, "ADC 6 %d \n\r", analog(6);
writeUART(buffer);
_delay_cycles(4000000);
}
}

void SYSTEMinit()
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer

// Configure GPIO
//Init_GPIO();
PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode
// to activate 1previously configured port settings
//__bis_SR_register(SCG0); // disable FLL
CSCTL3 |= SELREF__REFOCLK; // Set REFO as FLL reference source
CSCTL0 = 0; // clear DCO and MOD registers
CSCTL1 &= ~(DCORSEL_7); // Clear DCO frequency select bits first
CSCTL1 |= DCORSEL_3; // Set DCO = 8MHz
CSCTL2 = FLLD_0 + 243; // DCODIV = 8MHz
CSCTL4 = SELMS__DCOCLKDIV | SELA__REFOCLK; // set default REFO(~32kHz) as ACLK source, ACLK = 32768Hz
// default DCODIV as MCLK and SMCLK source
}
void UARTinit()
{
//STEP 1 Set UCSWRST Bit
UCA0CTLW0 |= UCSWRST; //Allows UART to be configured
//STEP 2 Initialize all relevant Registers
UCA0CTLW0 |= UCSSEL__SMCLK; //Choses SMCLK as clock source for UART
UCA0BR0 = 52; // 8000000/16/9600 CORRECT 9600 BAUD RATE
//UCA0BR1 = 0x00;
UCA0MCTLW = 0x4900 | UCOS16 | UCBRF_1;
//STEP 3 Configure Ports
P1SEL0 |= BIT0 + BIT1; // set 2-UART pin as Primary non I/O function
//STEP 4 SEt UCSWRST Bit
UCA0CTLW0 &= ~UCSWRST; // Initialize eUSCI
//STEP 5 ENABLE INTERUPTS
__enable_interrupt( );
UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt

_delay_cycles(4000000);
writeUART("start");
}
void ADCinit()
{
ADCCTL0 |= ADCSHT_3 + ADCON; // ADCON, S&H=32 ADC clks
ADCMCTL0 &=~ ADCCONSEQ0 + ADCCONSEQ1; //Sets single conversion single channel mode
ADCMCTL0 |= ADCSREF0; //Sets top of scale to VREF and bottom to ground
//ADCCTL1 |= ADCSHP;
ADCCTL1 &=~ ADCSSEL0 + ADCSSEL1; // ADCCLK = MODOSC; sampling timer
ADCCTL1 &=~ ADCSHP; //Initialized ADC conversation after ADCS bit not a timer
ADCCTL2 |= ADCRES_1; //0 gives 8 bit, 1 gives 10 bit, 2 gives 12 bit.
SYSCFG2 |= ADCPCTL6; //Enables ADC inputs. This is critical for all external ports. Temp sensor cannot be configured
//P1SEL0 |= BIT3;

//DECLARE INPUT PINS WHEN WE HAVE THEM. Temp sensor doesnt need to be declared
PMMCTL0_H = PMMPW_H; // Unlock the PMM registers. REQUIRED FOR TEMPERATURE SENSOR
PMMCTL2 |= TSENSOREN + INTREFEN; // Enable internal reference
__delay_cycles(400); // Delay for reference settling

ADCCTL0 |= ADCENC; //Enables ADC. Main bits above can no longer be edited
}
int analog (int channel) 
{
if (channel == 2)
{
ADCMCTL0 = 0x02;
}
if (channel == 3)
{
ADCMCTL0 = 0x03;
}
if (channel == 4)
{
ADCMCTL0 = 0x04;
}
if (channel == 5)
{
ADCMCTL0 = 0x05;
}
if (channel == 6)
{
ADCMCTL0 = 0x06;
}
if (channel == 7)
{
ADCMCTL0 = 0x07;
}
if (channel == 12)
{
ADCMCTL0 = ADCINCH_12;
}
ADCCTL0 |= ADCSC; // starts ADC conversion
while(ADCCTL1 & ADCBUSY);
return ADCMEM0;
}

int writeUART(char* sentence)
{
int i;
for (i = 0; i < strlen(sentence); i++) {
while(!(UCA0IFG&UCTXIFG));
UCA0TXBUF = sentence[i];
}
return i;
}

Any help would be greatly appreciated. Thank you for your time.

Austin

CCS/TMS320F28379D: Linker command file

Part Number:TMS320F28379D

Tool/software: Code Composer Studio

In my linker command file, I intend to define a symbol that informs the code the starting address of some usable space in flash. In an another project, that uses the same usable space, i could define the same symbol at the same location.  The problem is that of maintainability.  Now I have two linker command files defining symbols for the usable space and  If one project changes then some how I have to remember to change the other project as well.

Is there a command to include a common file so that any projects using the common area are self-correcting?  I don't see such an include directive in the documentation of the linker command file.

I assume the answer is going to be a 'no'.  if so, is there a better way to do what I desire?

Thanks

CC2538: Stuck in bootloader

Part Number:CC2538

Hi,

I just wanted to bring to your attention a problem that we had with the CC2538 and IAR 8.20.

Just to recap what the problem was:

We had a project that was based on the TIMAC stack 1.5.2 and we were using IAR 7.40 with a Segger J-Link Ultra+ debugging probe.

A new developer came in and upgraded the project to IAR 8.20 (8.20.1.14188). Everything seemed to work fine, but after some time, the boards would get stuck in a hard fault without ever going through the main.

You can see this thread for more information:

Image may be NSFW.
Clik here to view.

I was going through the assembly instructions and comparing with a functioning board. I was trying to figure out what was going on, and doing so, I bricked another board with some weird debugger message.

I recalled that we had used IAR 7.40 and tried to load the PER tester FW available on your site. I was surprised, but the board started working. I was even able to go back to IAR 8.20 and debug my other project.

We had 4 boards that appeared to be bricked, and we have been able to "revive" 3 of those boards using the same method. We kept one if you wanted to "inspect" it.

We will revert our project to IAR 7.40, but is there something that can be done to get the latest IAR version working.

Regards,
Michel

Viewing all 262198 articles
Browse latest View live


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