请问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页