我使用的是EXP430F5529,我想实现的功能是蓝牙与板子之间的汉字传输控制。
手机通过蓝牙已经可以和430正常通信。但是只能实现1个字节的通信。
一个汉字有3个字节,每次从UCA1RXBUF读取到的都是最后一个字节。
我知道大概的思路是:接收到一个字符,先存储在数组里,依次接收三个。
只是我不知道应该怎么区分每个字符,因为当触发接收中断以后,UCA1RXBUF里面就只有最后一个字节了。
#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
{
switch(__even_in_range(UCA1IV,4))
{
case 0:break; // 中断向量 0 - 无中断
case 2: // 中断向量 2 - 接收中断
while (!(UCA1IFG&UCTXIFG));
UCA1TXBUF = UCA1RXBUF;
data_rx = UCA1RXBUF;
break;
case 4:break; // 中断向量 4 - 发送中断
default: break;
}
}
我用的是Code Composer Studio 6.0.0,目前是初学者。
希望有了解的前辈给我详细一点的解答,谢谢啦。