TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP432 串口同时收发

请问TI工程师:

    原先MSP430单片机  串口收发中断如下框架

#pragma vector = USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
    switch (__even_in_range(UCA0IV, USCI_UART_UCTXCPTIFG))
    {
        case USCI_NONE: break;
        case USCI_UART_UCRXIFG:            //接收数据中断
        接收程序

        break;        
        case USCI_UART_UCTXIFG:            //发送数据中断
        接收程序

            break;
        case USCI_UART_UCSTTIFG: break;
        case USCI_UART_UCTXCPTIFG: break;
    }
}

请问MSP432 如果同时收发 有样例吗?   我自己改造的样例  好像通讯不是特别稳定,如下
void EUSCIA0_IRQHandler(void)
{
    uint32_t status = MAP_UART_getEnabledInterruptStatus(EUSCI_A0_BASE);
    //清除中断标记
    MAP_UART_clearInterruptFlag(EUSCI_A0_BASE, status);

    //接收中断标记
    if(status & EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG)
    {

        接收程序
    }

    //发送中断标记
    if(status & EUSCI_A_UART_TRANSMIT_INTERRUPT_FLAG)
    {
       发送程序    }

}

yuyinfeng1982:

补充说明:PDF手册上有类似如下结构
#pragma vector = USCI_A0_VECTOR __interrupt void USCI_A0_ISR(void) {
switch(__even_in_range(UCA0IV,18)) {
case 0x00: // Vector 0: No interrupts
break;
case 0x02: … // Vector 2: UCRXIFG
break;
case 0x04: … // Vector 4: UCTXIFG
break;
case 0x06: … // Vector 6: UCSTTIFG
break;
case 0x08: … // Vector 8: UCTXCPTIFG
break;
default: break;
}
}

这个样例 直接放入MSP432环境CCS不认识

Susan Yang:

回复 yuyinfeng1982:

请问您这个样例是哪个pdf的?能否给出相关链接?您给出的是用于MSP430的 MSP432使用的是类似EUSCIA0_IRQHandler 这种

yuyinfeng1982:

回复 Susan Yang:

MSP432P4xx SimpleLink™ Microcontrollers
Technical Reference Manual
第920页

赞(0)
未经允许不得转载:TI中文支持网 » MSP432 串口同时收发
分享到: 更多 (0)