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

cannot enter isr

$
0
0

#include "driverlib.h"

/* Application Defines */
#define TIMER_PERIOD 127
#define DUTY_CYCLE1 64

/* Timer_A Up Configuration Parameter */
const Timer_A_UpModeConfig upConfig =
{
TIMER_A_CLOCKSOURCE_SMCLK,
TIMER_A_CLOCKSOURCE_DIVIDER_1,
TIMER_PERIOD,
TIMER_A_TAIE_INTERRUPT_ENABLE,
TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE,
TIMER_A_DO_CLEAR

};

/* Timer_A Compare Configuration Parameter (PWM1) */
const Timer_A_CompareModeConfig compareConfig_PWM1 =
{
TIMER_A_CAPTURECOMPARE_REGISTER_1,
TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE,
TIMER_A_OUTPUTMODE_TOGGLE_SET,
DUTY_CYCLE1
};

int main(void)
{

MAP_WDT_A_holdTimer();

MAP_GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_P7,
GPIO_PIN6 , GPIO_PRIMARY_MODULE_FUNCTION);
MAP_Timer_A_configureUpMode(TIMER_A1_MODULE, &upConfig);
MAP_Timer_A_initCompare(TIMER_A1_MODULE, &compareConfig_PWM1);
TA0CCTL0 = CCIFG;
MAP_Timer_A_clearInterruptFlag(TIMER_A1_MODULE);
MAP_Timer_A_startCounter(TIMER_A1_MODULE, TIMER_A_UP_MODE);

while (1)
{
MAP_PCM_gotoLPM0();
}
}
void TA1_isr()
{ MAP_Timer_A_clearInterruptFlag(TIMER_A1_MODULE);
MAP_Timer_A_clearCaptureCompareInterrupt(TIMER_A1_MODULE,
TIMER_A_CAPTURECOMPARE_REGISTER_0);
MAP_GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0);
MAP_GPIO_setOutputHighOnPin(GPIO_PORT_P1,GPIO_PIN0);

}
void TA1_0isr()
{MAP_Timer_A_clearInterruptFlag(TIMER_A1_MODULE);
MAP_Timer_A_clearCaptureCompareInterrupt(TIMER_A1_MODULE,
TIMER_A_CAPTURECOMPARE_REGISTER_1);
MAP_GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0);
MAP_GPIO_setOutputHighOnPin(GPIO_PORT_P1,GPIO_PIN0);
}
//why the program runs into the following rather than above 2 isrs ???
void CPU_wfi(void)
{
//
// Wait for the next interrupt.
//
__asm(" wfi\n");
}
#endif


Viewing all articles
Browse latest Browse all 262198


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