使用MSP430FR6989 LaunchPad, 连接P2.0和P2.1,其他没有变化,跑例程时没有进入中断,麻烦谁能给解释一下是什么问题吗?
#include "driverlib.h" uint16_t i; uint8_t RXData = 0, TXData = 0; uint8_t check = 0; void main(void) {// stop watchdogWDT_A_hold(WDT_A_BASE);// LFXT Setup//Set PJ.4 and PJ.5 as Primary Module Function Input./** Select Port J* Set Pin 4, 5 to input Primary Module Function, LFXT.*/GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_PJ,GPIO_PIN4 + GPIO_PIN5,GPIO_PRIMARY_MODULE_FUNCTION);//Set DCO frequency to 1 MHzCS_setDCOFreq(CS_DCORSEL_0,CS_DCOFSEL_0);//Set external clock frequency to 32.768 KHzCS_setExternalClockSource(32768,0);//Set ACLK=LFXTCS_initClockSignal(CS_ACLK,CS_LFXTCLK_SELECT,CS_CLOCK_DIVIDER_1);//Set SMCLK = DCO with frequency divider of 1CS_initClockSignal(CS_SMCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_1);//Set MCLK = DCO with frequency divider of 1CS_initClockSignal(CS_MCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_1);//Start XT1 with no time outCS_turnOnLFXT(CS_LFXT_DRIVE_0);// Configure UART pins//Set P2.0 and P2.1 as Secondary Module Function Input./** Select Port 2d* Set Pin 0, 1 to input Secondary Module Function, (UCA0TXD/UCA0SIMO, UCA0RXD/UCA0SOMI).*/GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P2,GPIO_PIN0 + GPIO_PIN1,GPIO_SECONDARY_MODULE_FUNCTION);/** Disable the GPIO power-on default high-impedance mode to activate* previously configured port settings*/PMM_unlockLPM5();// Configure UARTEUSCI_A_UART_initParam param = {0};param.selectClockSource = EUSCI_A_UART_CLOCKSOURCE_ACLK;param.clockPrescalar = 3;param.firstModReg = 0;param.secondModReg = 92;param.parity = EUSCI_A_UART_NO_PARITY;param.msborLsbFirst = EUSCI_A_UART_LSB_FIRST;param.numberofStopBits = EUSCI_A_UART_ONE_STOP_BIT;param.uartMode = EUSCI_A_UART_MODE;param.overSampling = EUSCI_A_UART_LOW_FREQUENCY_BAUDRATE_GENERATION;if(STATUS_FAIL == EUSCI_A_UART_init(EUSCI_A0_BASE, ¶m)){return;}EUSCI_A_UART_enable(EUSCI_A0_BASE);EUSCI_A_UART_clearInterrupt(EUSCI_A0_BASE,EUSCI_A_UART_RECEIVE_INTERRUPT);// Enable USCI_A0 RX interruptEUSCI_A_UART_enableInterrupt(EUSCI_A0_BASE,EUSCI_A_UART_RECEIVE_INTERRUPT); // Enable interrupt__enable_interrupt();while(1){TXData = TXData + 1;// Increment TX data// Load data onto bufferEUSCI_A_UART_transmitData(EUSCI_A0_BASE,TXData);while(check != 1){;}check = 0;} } //****************************************************************************** // //This is the USCI_A0 interrupt vector service routine. // //****************************************************************************** #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=USCI_A0_VECTOR __interrupt #elif defined(__GNUC__) __attribute__((interrupt(USCI_A0_VECTOR))) #endif void USCI_A0_ISR(void) {switch(__even_in_range(UCA0IV,USCI_UART_UCTXCPTIFG)){case USCI_NONE: break;case USCI_UART_UCRXIFG:RXData = EUSCI_A_UART_receiveData(EUSCI_A0_BASE);if(!(RXData == TXData))// Check value{while(1){;}}check = 1;break;case USCI_UART_UCTXIFG: break;case USCI_UART_UCSTTIFG: break;case USCI_UART_UCTXCPTIFG: break;} }
Winter Yu:
请问是用的什么IDE环境?
user4973569:
回复 Winter Yu:
CCS6.2
Winter Yu:
回复 user4973569:
跑的例程是哪个呢??
BAORONG YANG:
请问,这个问题最终解决了么,我现在也遇到同样的问题
Winter Yu:
回复 BAORONG YANG:
你好!你跑的也是官方例程吗?
user4973569:
回复 BAORONG YANG:
跑的时官方提供的例程,还没有解决,暂时不弄这个型号了,在开发2533
BAORONG YANG:
回复 Winter Yu:
不知道,别人给的,不要您给发个官方历程
Winter Yu:
回复 BAORONG YANG:
这些例程都可以在TI.com官网下载到,这是MSP430所有例程的链接http://www.ti.com/tool/mspware。