下面是我的程序,大侠帮忙看下
void main(void)
{
unsigned char ff;
WDTCTL = WDTPW + WDTHOLD; //Close the Watchdog
power_Init(); //各模块电源初始化
SIM900A_on_off(); //SIM900A PWRKEY设置
OSC_Init(); //启动XT2晶振
UART0_1_Init();
_EINT(); //开中断
while(1);
}
#pragma vector=USCI_A0_VECTOR//串口0接收中断
__interrupt void USCI_A0_ISR (void)
{
unsigned char rev0_data,i;
static int cnt=0;
static unsigned char tmp[100];
switch(__even_in_range(UCA0IV,4))
{
case 0: break; //中断向量0:无中断
case 2: //中断向量2:RXIFG(接收中断)
tmp[cnt]=UCA0RXBUF;
cnt++;
if(cnt>100)
{
cnt=0;
}
break;
case 4: break; //中断向量4:TXIFG(发送中断)
default: break;
}
}
我是直接用上位机软件发送数据的
情况不明,看不出来,430吗?SIM900A_on_off(); 是啥
中断服务程序必须在当前波特率下一个字节的传输时间内完成处理,否则就可能丢数据。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang