본문 바로가기

[MSP430]/MSP432

MSP432 EVM - UART 테스트

MSP432 EVM - UART 테스트





MSP43는 총 4개의 UART를 가지고 있다.

MSP432 EVM의 UART는 EUSCI_A0_BASE의 P1.2->RXD, P1.3->TXD 에 할당이 되어 있다.



MSP432의 보레이트 설정은 MSP430 보레이트 계산기를 이용하면 동일하게 설정 가능하다.

http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430BaudRateConverter/



MSP432 UART 초기화 설정 코드


const eUSCI_UART_Config uartConfig =

{

        EUSCI_A_UART_CLOCKSOURCE_SMCLK,          // SMCLK Clock Source

        13,                                      // BRDIV = 13

        0,                                       // UCxBRF = 0

        37,                                      // UCxBRS = 37

        EUSCI_A_UART_NO_PARITY,                  // No Parity

        EUSCI_A_UART_MSB_FIRST,                  // MSB First

        EUSCI_A_UART_ONE_STOP_BIT,               // One stop bit

        EUSCI_A_UART_MODE,                       // UART mode

        EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION  // Oversampling

};



    /* Selecting P1.2 and P1.3 in UART mode */

    MAP_GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PIN2 | GPIO_PIN3, GPIO_PRIMARY_MODULE_FUNCTION);


    /* Setting DCO to 24MHz (upping Vcore) */

    FlashCtl_setWaitState(FLASH_BANK0, 2);

    FlashCtl_setWaitState(FLASH_BANK1, 2);

    MAP_PCM_setCoreVoltageLevel(PCM_VCORE1);

    CS_setDCOCenteredFrequency(CS_DCO_FREQUENCY_24);


    /* Configuring UART Module */

    MAP_UART_initModule(EUSCI_A0_BASE, &uartConfig);


    /* Enable UART module */

    MAP_UART_enableModule(EUSCI_A0_BASE);





MSP432 UART 송수신 함수 코드 

unsigned char U0_GetByte(void)

{

    unsigned char  temp = 0;

    temp = MAP_UART_receiveData(EUSCI_A0_BASE);


    return temp;

}


void U0_PutByte(unsigned char Data)

{

    MAP_UART_transmitData(EUSCI_A0_BASE, Data);

}




반응형