微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > labview串口接收乱码

labview串口接收乱码

时间:10-02 整理:3721RD 点击:
labview串口接收乱码,求助!
labview用的自带的,用单片机发送数据,串口调试助手收到的数据是正常的,labview收到的是乱码,如下:       


单片机发送内容:
while(1)
        {
                SBUF=0x46;
                while(!TI);                 
                TI=0;               
       

                SBUF=0x46;

                while(!TI);                 

                TI=0;               


                SBUF=120;

                while(!TI);                 

                TI=0;               


                SBUF=121;

                while(!TI);                 

                TI=0;               

        }

/***************
**串口发送函数**
***************/
void serial_t(uchar SerialData)  
{
        SBUF=SerialData;        //将数据发送出去
        while(TI==0);                //检查发送中断标志位
        TI=0;                        //令发送中断标志位为0(软件清零)
}
/******************                 
***串口数据帧发送***
******************/
void TXD_data_packet()
{
   serial_t(170);        //发送帧头AA
   serial_t(temp_H0);                 //串口发送0#温度数据高八位
   serial_t(temp_L0);                //串口发送0#温度数据低八位
   serial_t(temp_H1);                 //串口发送1#温度数据高八位
   serial_t(temp_L1);                //串口发送1#温度数据低八位
   serial_t(temp_H2);                 //串口发送2#温度数据高八位
   serial_t(temp_L2);                //串口发送2#温度数据低八位
   serial_t(255);   //发送帧尾FF
}
当然还有串口配置的初始化程序就不说了。看你的单片机是几位的了,如果是8位的,只能上面那样一个字节一个字节地发。你下位机怎么拆分的,上位机LabVIEW收到后就怎么还原,这个不难。

你这单片机的程序也有问题,起码写得很乱。你发送的应该是数据,就算用串口助手你收到的也只是ascii码对应的字符,我想这应该不是你想要的吧。

我是小白,发送代码是用来测试的。大侠说的对,代码比较乱,调试助手接收的对应的字符。
我把发送代码中的十六进制数据改为十进制的,乱码消失了。
再请问下,怎么把两个字节的数值发给labview?我把两个字节拆分,发送,labview收到后不知道怎么转换了~

感谢感谢!

新建了一个LabVIEW技术起不保守交流群(557572818),欢迎加入一起交流讨论。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top