Quantcast
Channel: Forums - Recent Threads
Viewing all 262198 articles
Browse latest View live

LAUNCHXL-F28069M: How to use Digital Compare Submodule event filtering of ePWM Module?

$
0
0

Part Number:LAUNCHXL-F28069M

I want to control a CrM (Critical Mode) Boost Circuit. When the inductor current reaches its valley, the ZCD signal gets a rise edge. When the inductor current reaches its peak, the ZCD signal gets a fall edge. The ZCD signal is sent to DSP.

The ZCD connects to the TZ2(GPIO13) pin of DSP,when the rise edge of ZCD is coming,the Digital Compare (DC) Submodule of EPWM2 output the DCAEVT1.sync,as the Figure 3-47 shows. If the time between two rise edge is too small, it can use the Blanking Window to filter the second rise edge of ZCD.

As the Figure 3-5 shows, DCAEVT1.sync can load the TBPHS to TBCTR, then the TBCTR increase from zero. When the TBCTR is cleared, the EPWM2B is set. When the TBCTR equal to CMPB, the EPWM2B is cleared and the EPWM2A is set. When the TBCTR equal to CMPA, the EPWM2A is clear.

There is a ZCD signal input DSP, and then DSP output EPWM2A and EPWM2B, and their relationship is shown in Fig.1.

                                                                                             Fig.1

The reason why I want to use blanking window is that there is interference signal when the inductor current reaches its peak sometimes, as the Fig. 2 shows. The green waveform is my ZCD signal. It seems to be ok. But when you see the light blue waveform, it is the EPWMSYNCO signal, sometimes the light blue waveform get a pluse when the ZCD signal is fall edge. Therefore, I want to use the blanking window to filter the wrong pluse.

Channel 1: EPWM1B; Channel 2: EPWM1SYNCO; Channel 3: Inductor Current; Channel 4: ZCD signal

Fig. 2

Before I use the code to my Boost circuit. I use the wave generator to generat the ZCD signal and interference signal to verify my code.

As Fig.3 shows, the green waveform is generated by the waveform generator. Its period is 10us. It includes the ZCD signal and the interference signal. The first one rise edge is ZCD signal and the next is interference signal. So the ZCD signal's period is 20us and the interference signal is also 20us. I want the ZCD signal to control the PWM, and the interference signal is ignored by the blanking window. Therefore,   my PWM period is 20us. And my OFFSET(9-11us)  is smaller than TBPRD(20us).

In my opinion, if the coed is right, the first signal is ZCD signal, then the EPWM1B set high. After 6us, the EPWM1B clear. Then the second signal is interference signal come, it will be filter by blanking window, so the EPWM1B keep zero. But the experimental result do not match.

Channel 1: EPWM1B; Channel 2:EPWM1A; Channel 4: ZCD signal

Fig.3

There is my code:

#include "math.h"

#include "DSP28x_Project.h"

 

void InitEPwm2Example(void);

 

int main(void) {

 

    InitSysCtrl();                                 // Initialize System Control

 

    InitGpio();                                     //Initialize GPIO

 

    InitEPwm2Gpio();

 

    InitTzGpio();

 

    //Configure ePWM module

    EALLOW;

    SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;

 

    InitEPwm2Example();

 

    SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;

    EDIS;

 

    //wait for timer0 interrupt

    for(;;);

}

 

void InitEPwm2Example(){

    // Setup TBCLK

    EPwm2Regs.TBCTL.bit.CTRMODE = 0x0;                  // Count up mode

    EPwm2Regs.TBPRD =4500;                               // Set timer period, for this example set at max value

    EPwm2Regs.TBCTL.bit.PHSEN = 0x1;                    // Enable phase loading

    EPwm2Regs.TBPHS.half.TBPHS = 0;                    // Phase is 0

    EPwm2Regs.TBCTR = 0x0000;                            // Clear counter

    EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;           // Clock ratio to SYSCLKOUT

    EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1;

 

    // Setup shadow register load on ZERO

    EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;        // Load registers every ZERO

    EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;

    EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;

    EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

 

    // Set Compare values

    EPwm2Regs.CMPA.half.CMPA = 720;                    // Set compare A value 8us

    EPwm2Regs.CMPB = 450;                              // Set compare B value 5us

 

    // Set actions

    EPwm2Regs.AQCTLA.bit.CBU = AQ_SET;                  // force EPWM1A output high; the high switch turn on

    EPwm2Regs.AQCTLA.bit.CAU = AQ_CLEAR;               // force EPWM1A output low; the high switch turn off

    EPwm2Regs.AQCTLB.bit.ZRO = AQ_SET;                  // force EPWM1B output high; the low switch turn on

    EPwm2Regs.AQCTLB.bit.CBU = AQ_CLEAR;               // force EPWM1B output low; the low switch turn off

 

    //dead time

    EPwm2Regs.DBCTL.bit.IN_MODE = 0;                    // Clear PWM1B on event B, up count

    EPwm2Regs.DBCTL.bit.HALFCYCLE = 0;                  // Clear PWM1B on event B, up count

    EPwm2Regs.DBCTL.bit.POLSEL = 0;                     // Clear PWM1B on event B, up count

    EPwm2Regs.DBCTL.bit.OUT_MODE = 2;                   // Clear PWM1B on event B, up count

    EPwm2Regs.DBRED = 9;                                // Clear PWM1B on event B, up count 0.1us

 

    //DC

    EPwm2Regs.DCTRIPSEL.bit.DCAHCOMPSEL = 1;           //TZ2 input

    EPwm2Regs.TZDCSEL.bit.DCAEVT1 = 2;                 //DCAH = high, DCAL = don't care

    EPwm2Regs.DCACTL.bit.EVT1SYNCE = 1;                //SYNC Generation Enabled

    EPwm2Regs.DCACTL.bit.EVT1SRCSEL = 0;               //0:Source Is DCAEVT1 Signal; 1:Source is DCEVTFILT Signal

EPwm2Regs.TZCTL.bit.DCAEVT1 = 3;

    //Filter

    EPwm2Regs.DCFCTL.bit.PULSESEL = 1;                 //Time-base counter equal to zero

    EPwm2Regs.DCFCTL.bit.BLANKINV = 0;                 //Blanking window not inverted

    EPwm2Regs.DCFCTL.bit.BLANKE = 1;                   //Blanking window is enabled

    EPwm2Regs.DCFCTL.bit.SRCSEL = 0;                   //Source is DCAEVT1 Signal

    EPwm2Regs.DCFOFFSET = 810;                         //Blanking Window Offset 9us

    EPwm2Regs.DCFWINDOW = 180;                         //Blanking Window Width 2us

}

Thanks,

Chenkai


pin initial effect the UART0 print.

$
0
0

it is the inresting issue .when i initial the pin ,it will affect the print of uart0. or the UART0 print function just stop.

but i see the real pin connect to the uart0 is PIN_55,PIN_57.

why i config orther pin will effect thoes two pins.

i saw the PDF,and find some relation to the UART0

here is my way i init .

/********************rotate button code*************************************/
// RS1 = 0x5, /* RS1/GP5/Pin60 */
// RS2 = 0x6, /* RS2/GP6/Pin61 */
// RS3 = 0x7, /* RS3/GP7/Pin62*/

// MAP_PinTypeGPIO(PIN_60, PIN_MODE_0, false);
// MAP_GPIODirModeSet(GPIOA0_BASE, 0x20, GPIO_DIR_MODE_IN);
// MAP_PinTypeGPIO(PIN_61, PIN_MODE_0, false);
// MAP_GPIODirModeSet(GPIOA0_BASE, 0x40, GPIO_DIR_MODE_IN);
// MAP_PinTypeGPIO(PIN_62, PIN_MODE_0, false);
// MAP_GPIODirModeSet(GPIOA0_BASE, 0x80, GPIO_DIR_MODE_IN);

// MAP_PinTypeGPIO(PIN_50, PIN_MODE_0, false);
// MAP_GPIODirModeSet(GPIOA0_BASE, 0x00, GPIO_DIR_MODE_OUT);

How can I avoid that?  or change some opinion.

CCS/66AK2H12: How to rebuild/reference platform_lib_evmk2h

$
0
0

Part Number:66AK2H12

Tool/software: Code Composer Studio

I am building an ARM application for TI-RTOS.

I have searched for functions supporting NAND flash, and found some that look useful in the platform_lib_evmk2h library.

I imported the library, creating a new project, copying files, and it built with no errors.

I see a variety of output files, including .lib, .libe, .ae66, .ae66e, in many lib/debug subdirectories under the main directory.  I added ti.platform.evmk2h.lite.lib to the build for my project, but the linker indicated it was skipping it.

1) Are the nand flash functions in this library appropriate for applications?  If not, can you direct me to an alternate?  I see no NAND flash examples.

2) If this library is appropriate, how do I build/include the library?

Thanks,

Tim

CC3200-LAUNCHXL: Writing data to the Gpio registers

$
0
0

Part Number:CC3200-LAUNCHXL

Hi,

I am getting problem while writing data to the gpio register.

I am configure pins in pinmux.c file as

set clock related to gpio port,

MAP_GPIOPINTYPE();

MAP_GPIODIRSET();

And then I give a call to the GPIOPinWrite(); in main.c file 

but,my data is not written into the pin it shows value Zero at that pin

I am getting doubt is there necessary to the set the pin by GPIO_IF_SET() function?

MSP430F149: Timer A0 ISR

$
0
0

Part Number:MSP430F149

Hello All,

I have face problem in Timer A0 ISR Routine.

Debugger can't come out from ISR routine. Interrupt Flag can't clear using below Instruction.

ISR Routine is as below.

#pragma vector=TIMERA0_VECTOR
__interrupt void TIMERA0_ISR (void)
{
TACCTL0 = 0x0000; //CCIE |
TACCTL0 &= ~CCIFG;
TACCTL0 |= CCIE;

return;

}

ADS7865: ADS7865IPBS

$
0
0

Part Number:ADS7865

Hi,

In the spec od ADS7865 it is stated that BVDD absolute maximum rating is 1.5 x AVDD.
Is this demand valid also during voltage shut down to the device, or only during nominal operation?

Thanks,

Eli.
 

CCS/MSP430G2553: PWM Guidance needed

$
0
0

Part Number:MSP430G2553

Tool/software: Code Composer Studio

Hi,

I would like to have PWM output on three pins P2.2, P2.3 and P2.4. I have tried following code but it is working for P2.2 only and not for P2.3 and P2.4.

Code:

P2DIR |= BIT2|BIT3|BIT4; // P2.2,P2.3,P2.4 output
P2SEL |= BIT2|BIT3|BIT4; 
TA1CCR0 = 512-1; // PWM Period
TA1CCTL1 = OUTMOD_7; // CCR1 reset/set
TA1CCR1 = 384; //CCR1 PWM duty cycle
TA1CTL = TASSEL_2 + MC_1; // SMCLK, up mode


Please help me to understand mistake in above code. Is it possibe to have same PWM duty cycles on three different pins as mentioned above?

Is it possible to generate different PWM duty cycles on three different pins using single timer?

Thanks,

Krunal

CCS/TMS320F28075: Missing prototypes in F2807x_GlobalPrototypes.h

$
0
0

Part Number:TMS320F28075

Tool/software: Code Composer Studio

While trying to implement GPIO interrupts, I noticed that the functions GPIO_SetupXINT4Gpio and GPIO_SetupXINT5Gpio are present in F2807x_Gpio.c, but their protoypes are missing in F2807x_GlobalPrototypes.h. Should they have been included or is there a specific reason why the prototypes aren't there?


Linux/AM5728: H.264 encode file is too big

$
0
0

Part Number:AM5728

Tool/software: Linux

Hi,

TI, I use the command "gst-launch-1.0 -v videotestsrc ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080' ! vpe ! ducatih264enc level=level-51 profile=high bitrate=6000 ! h264parse ! filesink location=/home/root/1920x1080.264" to test h264 encode for 10 minutes. And I found the size of 1920x1080.264 is too big. the size is 900MiB. If I test it on the NXP platform,the size is 300MiB. Are there some way to decrease the size?

By the way, I test it on SDK03.01 and SDK 04.01.

BR,

vefone

LAUNCHXL2-RM57L: Booster pack for LAUNCHXL2-RM57L

PCM1754-Q1: PCM1754-Q1 EVM user guide VCC is powered by REG1117-3.3, but PCM1754-Q1 spec is required 5V, so could this part vcc can be supplied 3.3v, what impact if 3.3v power supply instead of 5v

LP3878 difficulty in choosing CFF and Vin

$
0
0

Hi,

  • I am facing the difficulty with LP3878MR-ADJ/NOPB LDO regulator
  • We not found simulation circuit design in WEBENCH for the below requirement using the above Part

                 Vin =5V

                 Vout =1.8V

                 Iout =0.8A

  • But we are getting simulation circuit for the Vin= 3.3V & Vout=1.8V with the same part.
  • But as per the datasheet Vin > Vout +2V, hence Vin should be equal or greater than the 2+1.8=3.8.
  • Then How the WEBENCH is generated for  Vin =3.3 ?
  • why it is not generating circuit for Vin =5V ?
  • For the same circuit, from WEBENCH Cff= 1nF. If we are substituting this value in Zero frequency calculating formula, then Fz= 41.55khz which  is not in the Zero frequency range.

Please guide me how to proceed.

 

Thanks & regards,

Divya

AWR1642: combine 1024 chirp as a frame error with sdk01.01.00.02

$
0
0

Part Number:AWR1642

hi

i'm trying to combine 1024 chirp as a frame in my application.so the parameter i'm setting as below:

in the mss side :

frameCfg->chirpStartIdx = 0;
frameCfg->chirpEndIdx = 511;
frameCfg->numLoops = 2;
frameCfg->numFrames = 0;
frameCfg->framePeriodicity = 100 * 1000000 / 5;

profileCfg.profileId = 0;
profileCfg.startFreqConst = (uint32_t) (77 * (1U << 26) / 3.6);
profileCfg.rampEndTime = (uint32_t)((float)58 * 1000 / 10);
profileCfg.freqSlopeConst = (uint32_t)(1 * (1U << 26) / (3.6*1e3*900)); //2^26 *1e6/((3.6*1e9)*900)
profileCfg.numAdcSamples = 64;

in the dss :

i had comment some values in the MmwDemo_datapathConfigBuffers() just for my test , 

and i had comment the function of MmwaDemo_interFrameProcessing();

my propose is that letting the project running with no error.

but some error happen as below.

the dss show error first .

the Debug shows problem in the mailbox_write, i guess the problem may happen in the dss send object to mss which used the mailbox ,but in the Expressions shows the chirpIntCounter is 258,  it will not happen that mailbox tranformation,

and i put a broken point in the dss_main show in the picture , the program is not running in here.

I can not located problem in the console shows , what the {module#34}:line 202: where can i find the souce?

hope you can help me to check this problem. thank you.

br 

havi

BQ25703A: PSYS power calculation

$
0
0

Part Number:BQ25703A

Is it possible to choose a resistor off 20mOHM for input sense resistor and 10mOHM for charge sense resistor

What is the impact on PSYS measurement.

Is it possible to choose ff 50mOHM for input sense resistor and 25mOHM for charge sense resistor with parameter RSNS_RAC = 1 and RSNS_RSR = 0.

Our design have 700mA max input current and 3A max discharge current. Our important requirement is the precision on the input current limitation.

BQ25890: BQ25890 : USB high speed without external switch


CCS/TM4C123GH6PM: Error #249 function "CMD_help" has already been defined.

$
0
0

Part Number:TM4C123GH6PM

Tool/software: Code Composer Studio

Hi

I want to transmit data from TM4C123GH6PM to mobile phone using ZIGBEE Wi-Fi module. But compiling code in CCS, I am getting 3 errors (all are similar) function has already been defined.

 

cmd.c code

//*****************************************************************************
// Copyright (c) 2012-2013 Texas Instruments Incorporated.  All rights reserved.
// Software License Agreement
// 
// Texas Instruments (TI) is supplying this software for use solely and
// exclusively on TI's microcontroller products. The software is owned by
// TI and/or its suppliers, and is protected under applicable copyright
// laws. You may not combine this software with "viral" open-source
// software in order to form a larger program.
// 
// THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
// DAMAGES, FOR ANY REASON WHATSOEVER.
// 
// This is part of revision 1.0 of the EK-TM4C123GXL Firmware Package.
//
//*****************************************************************************

#include <stdint.h>
#include <stdbool.h>
#include "main.h"
#include "inc/hw_types.h"
#include "utils/ustdlib.h"
#include "utils/uartstdio.h"
#include "utils/cmdline.h"
#include "cmd.h"

//*****************************************************************************
//
// Table of valid command strings, callback functions and help messages.  This
// is used by the cmdline module.
//
//*****************************************************************************
/*tCmdLineEntry g_psCmdTable[] =
{
    {"Help",     CMD_help,      " : Display list of commands" },
    {"SetAngle",     CMD_SetServoAngle,      " : Set servo angle" },
    {"CloseConnection",     CMD_QuitProcess,      " : Close the Connection" },
    { 0, 0, 0 }
};
*/
//*****************************************************************************
//
// Command: help
//
// Print the help strings for all commands.
//
//*****************************************************************************
int CMD_help(int argc, char **argv)
{
    int32_t i32Index;
    (void)argc;
    (void)argv;
    i32Index = 0;
    UARTprintf("List of Commands\n");
    while(g_psCmdTable[i32Index].pcCmd)
    {
      UARTprintf("%17s %s\n", g_psCmdTable[i32Index].pcCmd,
                 g_psCmdTable[i32Index].pcHelp);
      i32Index++;
    }
    UARTprintf("\n");
    return (0);
}

int CMD_SetServoAngle(int argc, char **argv)
{
	uint32_t ServoAngle;

	if(argc == 2)
	{
		ServoAngle = ustrtoul(argv[1], 0, 10);
		SetServoAngle(ServoAngle);
	}
	return 0;
}

int CMD_QuitProcess(int argc, char **argv)
{
	QuitProcess();
	return 0;
}

cmd.h file

//*****************************************************************************
// Copyright (c) 2012-2013 Texas Instruments Incorporated.  All rights reserved.
// Software License Agreement
// 
// Texas Instruments (TI) is supplying this software for use solely and
// exclusively on TI's microcontroller products. The software is owned by
// TI and/or its suppliers, and is protected under applicable copyright
// laws. You may not combine this software with "viral" open-source
// software in order to form a larger program.
// 
// THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
// DAMAGES, FOR ANY REASON WHATSOEVER.
// 
// This is part of revision 1.0 of the EK-TM4C123GXL Firmware Package.
//
//*****************************************************************************

#ifndef __RGB_COMMANDS_H__
#define __RGB_COMMANDS_H__

//*****************************************************************************
//
// Defines for the command line argument parser provided as a standard part of
// TivaWare.  qs-rgb application uses the command line parser to extend
// functionality to the serial port.
//
//*****************************************************************************

#define CMDLINE_MAX_ARGS 3

//*****************************************************************************
//
// Declaration for the callback functions that will implement the command line
// functionality.  These functions get called by the command line interpreter
// when the corresponding command is typed into the command line.
//
//*****************************************************************************
extern int CMD_help(int argc, char **argv);
extern int CMD_SetServoAngle(int argc, char **argv);
extern int CMD_QuitProcess(int argc, char **argv);
#endif

Here i am attaching the screenshot of console window.

Any help will be highly appreciated. 

 

CCS/MSP430FR4133: Problem with Interrupt flag during bit-shift operation

$
0
0

Part Number:MSP430FR4133

Tool/software: Code Composer Studio

Hi community,

if I use the following code, only one shift operation will be done. After that, no furhter shift operation will be done. I think it has something to do with the IFG for the P1.2 

P1IFG &= ~BIT2;                     // P1.2 IFG cleared

#include <msp430fr4133.h>
#include <driverlib.h>
#include "main.h"
#include "hal_LCD.h"
#include <stdio.h>
#include <stdlib.h>

// Port 2 interrupt service routine
	#pragma vector=PORT2_VECTOR
	__interrupt void Port_2(void)
	{
		while (TA1CCR1<900)				//if TA1CCR1 is below 900...
			{
			TA1CCR1 ++;					// increase TA1CCR1 (duty-cycle)
			_delay_cycles(80000);		// delay time
			}
	P2IFG &= ~BIT6; // P2.6 IFG cleared
	}

// Port 1 interrupt service routine
	#pragma vector=PORT1_VECTOR
	__interrupt void Port_1(void)
	{
	   P1OUT >>= 1;						// Right-Shift Port_1
	   P1IFG &= ~BIT2;                     // P1.2 IFG cleared
	}

void main(void)
{
	WDTCTL = WDTPW + WDTHOLD; // Stop WDT
	PM5CTL0 &= ~LOCKLPM5;		// Disable the GPIO power-on default high-impedance mode
    							// to activate previously configured port settings
	TA1CCR0 = 1000-1;
	TA1CCR1 = 0;					// Duty-cycle
	TA1CTL = TASSEL_2 | MC_1;
	TA1CCTL1 = OUTMOD_7;			//Timer in PWM-mode

	P1DIR = 0xFB;					// Setting ports P1.0, P1.1, P1.3, ... P1.7 as output direction
	P1OUT = 0xEF;					// turn-on P1.0, P1.1, P1.3, ... P1.7

	P4DIR |= BIT0; // P4.0
	P4SEL0 |= BIT0; 				// Timer select to P4.0

	P2REN |= BIT6; // Enable internal pull-up/down resistors for P2.6
	P2OUT |= BIT6; //Select pull-up mode for P2.6
	P2IE |= BIT6; // P2.6 interrupt enabled
	P2IES |= BIT6; // P2.6 Hi/lo edge
	P2IFG &= ~BIT6; //P2.6 IFG cleared

	P1REN |= BIT2; // Enable internal pull-up/down resistors for P1.2
	P1OUT |= BIT2; //Select pull-up mode for P1.2
	P1IE |= BIT2; // P1.2 interrupt enabled
	P1IES |= BIT2; // P1.2 Hi/lo edge
	P1IFG &= ~BIT2; // P1.2 IFG cleared
	__bis_SR_register(CPUOFF + GIE); // Enter LPM0 w/ interrupt

	while (1)				//Loop forever, we work with interrupt
		{}
}

However, if I work without any Interrupts it works.

#include <msp430fr4133.h>
#include <driverlib.h>
#include "main.h"
#include "hal_LCD.h"
#include <stdio.h>
#include <stdlib.h>

volatile unsigned char s1current, s2current;
volatile unsigned char s1last, s2last;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
PM5CTL0 &= ~LOCKLPM5;       // Disable the GPIO power-on default high-impedance mode
                            // to activate previously configured port settings
P1DIR = 0xFB; // P1.0 pin set as output the rest are input
P4DIR |= BIT0; // P4.0 pin set as output the rest are input

P2REN |= BIT6; // Enable internal pull-up/down resistors for P2.6
P2IN |= BIT6; //Select pull-up mode for P2.6
P1REN |= BIT2; // Enable internal pull-up/down resistors for P1.2
P1IN |= BIT2; //Select pull-up mode for P1.2

P1OUT = 0xEF; // Turn-ON LED
P4OUT |= BIT0; // Turn-ON LED

s1last = BIT2;
s2last = BIT6;


while(1)
{

    s1current = P1IN;
    s2current = P2IN;


    if(((s1current & BIT2) == 0) && ((s1last & BIT2) == BIT2)) // if button S1 is pressed...
    {
        P4OUT ^= BIT0;
    }


    if(((s2current & BIT6) == 0) && ((s2last & BIT6) == BIT6)) // if button S2 is pressed...
    {
        P1OUT >>= 1;
    }

    s1last = s1current;
    s2last = s2current;

    _delay_cycles(1000);      // delay time
}

}

What is the cause for this problem in the Interrupt-code???

Linux/TMS320DM8148: How we disable all interrupts in dm8148 Linux

$
0
0

Part Number:TMS320DM8148

Tool/software: Linux

Hello ,

  We  are using  the  DM8148   with  DVRRDK_04_01_00_02 .

  I am  writing a timer diver  and i need to Disable all interrupt  while initializing the timer .

  Whet are the functions that  Disables/Enables  all interrupt in this env .

Regards .

Using TI launchpad drivers and debugger on custom hardware

$
0
0

I am designing a flexible RF circuit for BLE based on the CC2640R2F 32pin RSM package. I am currently using the launchpad to write and test my firmware, is it possible to use the the same software and pin assignment for a different package? Is it also possible to use the launchpad debugger to connect to the custom board to program and debug the MCU.

Thanks

CCS/TMS320F28379D: Vienna Rectifier-Based, Three-Phase Power Factor Correction (PFC)

$
0
0

Part Number:TMS320F28379D

Tool/software: Code Composer Studio

Dear Sir,

When I am working with the example TI Designs: TIDM-1000, I am not getting the PWM Gate pulse like above shown in pdf file. I got the overlap pulse for Q1 and Q2 like below.

The ti example default path in controlSuit is C:\ti\controlSUITE\development_kits\tidm_1000\v1_01_00_00

Viewing all 262198 articles
Browse latest View live


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