Tool/software: Code Composer Studio
hi i am using msp430f67791a
#include "driverlib.h"
uint16_t i;
uint8_t RXData = 0, TXData = 0;
uint8_t check = 0;
void main(void)
{
// stop watchdog
WDT_A_hold(WDT_A_BASE);
//Set external clock frequency to 32.768 KHz
UCS_setExternalClockSource(32768, 0);
//Set ACLK=XT1
UCS_initClockSignal(UCS_ACLK, UCS_XT1CLK_SELECT, UCS_CLOCK_DIVIDER_1);
//Start XT1 with no time out
UCS_turnOnLFXT1(UCS_XT1_DRIVE_0, UCS_XCAP_3);
//Configure UART pins (UCA0TXD/UCA0SIMO, UCA0RXD/UCA0SOMI)
//Set P3.0 and P3.1 as Module Function Input
GPIO_setAsPeripheralModuleFunctionInputPin(
GPIO_PORT_P3,
GPIO_PIN4 + GPIO_PIN5
);
// Configure UART
EUSCI_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_A1_BASE, ¶m)) {
return;
}
EUSCI_A_UART_enable(EUSCI_A1_BASE);
EUSCI_A_UART_clearInterrupt(EUSCI_A1_BASE,
EUSCI_A_UART_RECEIVE_INTERRUPT);
// Enable USCI_A0 RX interrupt
EUSCI_A_UART_enableInterrupt(EUSCI_A1_BASE,
EUSCI_A_UART_RECEIVE_INTERRUPT); // Enable interrupt
__enable_interrupt();
while (1)
{
// Increment TX data
// Load data onto buffer
EUSCI_A_UART_transmitData(EUSCI_A1_BASE,
TXData);
TXData = TXData+1;
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_A1_VECTOR
__interrupt
#elif defined(__GNUC__)
__attribute__((interrupt(USCI_A1_VECTOR)))
#endif
void EUSCI_A1_ISR(void)
{
switch(__even_in_range(UCA1IV,USCI_UART_UCTXCPTIFG))
{
case USCI_NONE: break;
case USCI_UART_UCRXIFG:
RXData = EUSCI_A_UART_receiveData(EUSCI_A1_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;
}
}
i am using example code, in this i changed pins and uart channel i am not able to communicate in uart
please suggest me which are the things i need to modify
regards
bindu