以前我用的是ARMRF_ST911_BS,上面带的是CC1100无线模块。现在我想用CC2430模块,用PC机串口发AT命令给开发板UART0,再通过MCU的UART1把AT命令转发给CC2430,程序下载后,发读物理地址命令,串口返回了正确的值。但是开发板复位或者断电重启后,再发读物理地址命令,串口无返回。请问各位这是什么原因呢?
程序如下:
int main()
{
u8 i=0,buf[300]={0,0,0,255};
GPIO_Configuration();
UART_Configuration();//串口初始化
while(1)
{
i=0;
while(1)
{
while(UART_GetFlagStatus(UART0, UART_FLAG_RxFIFOFull)== RESET);
buf[i]=UART_ReceiveData(UART0);
if(i==buf[3]+4)
break;
else
i++;
}
for(i=0;i<buf[3]+5;i++)
{
UART_SendData(UART1,buf[i]);
while(UART_GetFlagStatus(UART1, UART_FLAG_TxFIFOEmpty)== RESET);
}
buf[3]=255;
i=0;
while(1)
{
while(UART_GetFlagStatus(UART1, UART_FLAG_RxFIFOFull)== RESET);
buf[i]=UART_ReceiveData(UART1);
if(i==buf[3]+4)
break;
else
i++;
}
for(i=0;i<buf[3]+5;i++)
{
UART_SendData(UART0,buf[i]);
while(UART_GetFlagStatus(UART0, UART_FLAG_TxFIFOEmpty)== RESET);
}
}
}