盲人毕设 发表于 2017-4-16 22:01:50

求助STM32串口2接收串口1发送

                if(USART2_RX_STA&0X8000)                        //½óêÕμ½ò»′Îêy¾YáË
                {
                        LCD_Fill(30,200,240,320,WHITE);      //Çå3yÏÔê¾
                        reclen=USART2_RX_STA&0X7FFF;      //μÃμ½êy¾Y3¤¶è
                        USART2_RX_BUF=0;               //¼óèë½áêø·û
                        if(reclen==9||reclen==8)               //¿ØÖÆDS1¼ì2a
                        {
                              if(strcmp((const char*)USART2_RX_BUF,"+LED1 ON")==0)LED1=0;      //′ò¿aLED1
                              if(strcmp((const char*)USART2_RX_BUF,"+LED1 OFF")==0)LED1=1;//1رÕLED1
                        }
                        printf("ceshi");
                        printf("%s",USART2_RX_BUF);
                        USART1->DR=USART2_RX_BUF;
                        LCD_ShowString(30,200,209,119,16,USART2_RX_BUF);//ÏÔê¾½óêÕμ½μÄêy¾Y
                        USART2_RX_STA=0;         
                }                        

帮忙看一下程序有什么问题,用串口助手一直显示ceshiceshiceshi,我想要的是我的cc2530用串口发过来的电压数据。

黑皮男 发表于 2017-4-17 08:57:28

要保证你发来的数据后添加一个‘\0’

盲人毕设 发表于 2017-4-17 11:40:50

黑皮男 发表于 2017-4-17 08:57
要保证你发来的数据后添加一个‘\0’

您好,说具体一点,哪里添?

黑皮男 发表于 2017-4-17 13:24:14

盲人毕设 发表于 2017-4-17 11:40
您好,说具体一点,哪里添?

收到数据后,在后面加个’\0‘.比如你的接收数组为uint8_t   BUF。收到的数据长度为len,则在打印前执行BUF='\0';

发表于 2017-4-17 14:28:26

LCD_ShowString(30,200,209,119,16,USART2_RX_BUF);这个显示电压值是否正确,如过正确那么串口输出那改一下:USART1->DR=USART2_RX_BUF;printf("%d\n",USART2_RX_BUF);

asmhai 发表于 2017-4-17 22:54:17

晚上好!

原田夜舞love 发表于 2017-4-18 00:10:38

:):):)
页: [1]
查看完整版本: 求助STM32串口2接收串口1发送