MINI板 LCD 如何显示有空格换行( )后面的内容?

2019-08-12 18:04发布

if(send_update == 1)  //说明目前串口正在接收数据,不要读缓冲区数据
                {
                        send_lock=1;     //开自锁标志
                        ++send_cnt;    //只要有数据接收,send_cnt每次都被串口中断清零
                        if(send_cnt>cnt_send)   //延时一段时间,确认缓冲区没有继续接受数据
                        {
                                send_cnt=0;
                                send_update=0;  
                        }
                }
                else
                {
                        if(send_lock==1)    //在数据已经接收完毕,并且还没有处理过数据的情况下
                        {
                                send_lock = 0;
                               
                                len=USART_RX_STA&0x3fff;                                                        //得到此次接收到的数据长度
                                //printf(" 您发送的消息为: ");
                                /************************************************************************************************************/
                                for(i=0;i<200;i++)                                                        //清除原来数据
                                {
                                         data=0x20;//每一个字节都是空格
                                         //data=0x40;//每一个字节都是空格
                                }
                                LCD_ShowString(8,50,216,64,16,data);
                                /************************************************************************************************************/
                                for(j=0;j<len;j++)
                                {
                                        data[j]=USART_RX_BUF[j];//把收到数据放到word里
                                }
                               
                                for(t=0;t<len;t++)
                                {
                                        USART1->DR=USART_RX_BUF[t];
                                        while((USART1->SR&0X40)==0);                                //等待发送结束
                                       
                                }
                                printf(" ");                                                                //插入换行
                                USART_RX_STA=0;
                               
                                //LCD_Clear(WHITE);  //清屏
                                LCD_ShowString(8,50,216,64,16,data);                    //显示接受内容
                                //比如说我现在接收到的ASCII码内容   :acd
                                                                                       efd
                                                                                       red
                                //现在只能显示acd第一行
                                //单片机是全部接收到的,因为我串口助手返回接收到的数据是正确的
                                //求助怎么显示多行呢
                               
                                for(t=0;t<200;t++)
                                {
                                        USART_RX_BUF[t] = 0;
                                }               
                        }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。