[MCU] MSP432评测8-----串口0收发

[复制链接]
1050|6
 楼主| Cjy_JDxy 发表于 2020-4-18 19:09 | 显示全部楼层 |阅读模式
本帖最后由 Cjy_JDxy 于 2020-4-18 19:12 编辑

今晚搞了一下串口0收发。
串口0的两个脚是P1.2,P1.3

代码:
#include <ti/devices/msp432p4xx/driverlib/driverlib.h>

uint8_t TXData = 1;
uint8_t RXData = 0;

/* UART Configuration Parameter. These are the configuration parameters to
* make the eUSCI A UART module to operate with a 115200 baud rate. These
* values were calculated using the online calculator that TI provides
* at:
* http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430BaudRateConverter/index.html
*/
const eUSCI_UART_ConfigV1 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
        EUSCI_A_UART_8_BIT_LEN                  // 8 bit data length
};

int main(void)
{
    /* Halting WDT  */
    MAP_WDT_A_holdTimer();

    /* Selecting P1.2 and P1.3 in UART mode and P1.0 as output (LED) */
    MAP_GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1,
             GPIO_PIN2 | GPIO_PIN3, GPIO_PRIMARY_MODULE_FUNCTION);
    MAP_GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);
    MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN0);

    /* Setting DCO to 24MHz (upping Vcore) */
    FlashCtl_setWaitState(FLASH_BANK0, 1);
    FlashCtl_setWaitState(FLASH_BANK1, 1);
    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);

    /* Enabling interrupts */
    MAP_UART_enableInterrupt(EUSCI_A0_BASE, EUSCI_A_UART_RECEIVE_INTERRUPT);
    MAP_Interrupt_enableInterrupt(INT_EUSCIA0);
    MAP_Interrupt_enableSleepOnIsrExit();

    while(1)
    {

    }


}

/* EUSCI A0 UART ISR - Echos data back to PC host */
void EUSCIA0_IRQHandler(void)
{
    uint32_t status = MAP_UART_getEnabledInterruptStatus(EUSCI_A0_BASE);

    if(status & EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG)
    {
        RXData = MAP_UART_receiveData(EUSCI_A0_BASE);
        MAP_UART_transmitData(EUSCI_A0_BASE, RXData);

                                
        MAP_Interrupt_disableSleepOnIsrExit();
    }

}

效果图:

工程:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
八层楼 发表于 2020-5-9 16:15 | 显示全部楼层
非常感谢楼主分享
观海 发表于 2020-5-9 16:16 | 显示全部楼层
一晚上搞定  好快!
guanjiaer 发表于 2020-5-9 16:16 | 显示全部楼层
看我的眼红了
heimaojingzhang 发表于 2020-5-9 16:17 | 显示全部楼层
串口还是比较好弄的
keaibukelian 发表于 2020-5-9 16:17 | 显示全部楼层
串口配置那部分我没看太明白
 楼主| Cjy_JDxy 发表于 2020-5-9 16:26 | 显示全部楼层
keaibukelian 发表于 2020-5-9 16:17
串口配置那部分我没看太明白

我参考例程的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

20

粉丝
快速回复 在线客服 返回列表 返回顶部