USART3对传感器发送命令已成功,并且能成功接收到数据(通过if语句判断过了)
现在所存在的问题:不能将接受到的数据发送给USART1,最后显示在串口助手上。请各位大神耐心看一下,指出问题所在
以下是我的主程序:
int main(void)
{
u8 t;
u8 i;
u8 len;
u16 times=0;
uint8_t ch[5]={0x68,0x04,0x00,0x04,0x08};
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
delay_init(168);
UART3_Init(9600);
UART1_Init(9600);
LED_Init();
while(1)
{
for(i=0;i<6;i++)
{
while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);
USART_SendData(USART3,ch[i]);
}
if(USART_ReceiveData(USART3))
{
LED1=!LED1;
delay_ms(30);
}
if(USART3_RX_STA&0x8000)
{
len=USART3_RX_STA&0x3fff;
for(t=0;t<len;t++)
{
USART_SendData(USART1,USART3_RX_BUF[t]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
}
USART3_RX_STA=0;
}else
{
times++;
if(times%30==0)LED0=!LED0;
delay_ms(20);
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>