2019-07-20 03:11发布
翼行园子 发表于 2019-3-18 16:21 一个板子的也简单啊 一样的 初始化对应的串口即可 也是类似的操作的
peng1554 发表于 2019-3-18 09:31 有点没懂你的意思。你是串口间的数据可以互发,但是没成功显示数据?
最多设置5个标签!
int main(void)
{
u8 t;
u8 len;
u16 times=0;
u8 reclen=0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//éèÖÃÏμí3ÖD¶ÏóÅÏ輶·Ö×é2
delay_init(168); //Ñóê±3õê¼»ˉ
LED_Init(); //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú
uart_init(115200); //′®¿ú3õê¼»ˉ2¨ìØÂêÎa115200
usart2_init(115200);
usart3_init(115200);
uart4_init(115200);
uart5_init(115200);
usart6_init(115200);
USART2_RX_STA=0;
USART3_RX_STA=0;
// u8 b[t];
while(1)
{
if(USART_RX_STA&0X8000) //½óêÕμ½ò»′Îêy¾YáË
{
reclen=USART_RX_STA&0X7FFF; //μÃμ½êy¾Y3¤¶è
USART_RX_BUF[reclen]=0; //¼óèë½áêø·û
for(t=0;t<reclen;t++)
{
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//μè′y·¢Ëí½áêø
USART_SendData(USART2, USART3_RX_BUF[t]); //Ïò′®¿ú2·¢Ëíêy¾Y
// while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//μè′y·¢Ëí½áêø
}
u2_printf(" ");//2åèë»»DD
printf("USART_RX_BUF:%s ",USART_RX_BUF);
printf("reclen:%d ",reclen);
// printf("USART_ReceiveData:%d ",USART_ReceiveData(USART1));
if(reclen==9||reclen==8) //¿ØÖÆDS1¼ì2a
{
if(strcmp((const char*)USART_RX_BUF,"+LED1 ON")==0)LED1=0; //′ò¿aLED1
if(strcmp((const char*)USART_RX_BUF,"+LED1 OFF")==0)LED1=1;//1رÕLED1
}
USART2_RX_STA=0;
USART3_RX_STA=0;
}
if(USART2_RX_STA&0X8000) //½óêÕμ½ò»′Îêy¾YáË
{
reclen=USART2_RX_STA&0X7FFF; //μÃμ½êy¾Y3¤¶è
USART2_RX_BUF[reclen]=0; //¼óèë½áêø·û
for(t=0;t<reclen;t++)
{
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//μè′y·¢Ëí½áêø
USART_SendData(USART3, USART2_RX_BUF[t]); //Ïò′®¿ú3·¢Ëíêy¾Y
}
printf(" ");//2åèë»»DD
// printf("USART2_RX_BUF:%s ",USART2_RX_BUF);
printf("reclen:%d ",reclen);
USART3_RX_STA=0;
}
}
}
在你程序的基础上修改的,请帮忙查看下是否ok,谢谢了
嗯嗯,是的。还请帮忙指导,对了刚刚调试代码出现USART2/3重复定义了,改怎么更改呀,我实际是要用到这两个端口的。
1.L6200E:SYmbol USART2-RX-BUF multiply defined (by USART2.0and main.o)
2.L6200E:SYmbol USART2-TX-BUF multiply defined (by USART2.0and main.o)
3.L6200E:SYmbol USART2-STA-BUF multiply defined (by USART2.0and main.o)
4.L6200E:SYmbol USART2-init multiply defined (by USART2.0and main.o)
5.L6200E:SYmbol IQHander multiply defined (by USART2.0and main.o)
6.L6200E:SYmbol USAR2-print multiply defined (by USART2.0and main.o)
报错USART2/3重复定义了吧
一周热门 更多>