2019-07-17 21:14发布
hejin515 发表于 2016-11-9 08:45 你这单片机的程序也有问题,起码写得很乱。你发送的应该是数据,就算用串口助手你收到的也只是ascii码对应的字符,我想这应该不是你想要的吧。
whl315 发表于 2016-11-9 20:10 感谢感谢!
最多设置5个标签!
**串口发送函数**
***************/
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收到后就怎么还原,这个不难。 最佳答案
我是小白,发送代码是用来测试的。大侠说的对,代码比较乱,调试助手接收的对应的字符。
我把发送代码中的十六进制数据改为十进制的,乱码消失了。
再请问下,怎么把两个字节的数值发给labview?我把两个字节拆分,发送,labview收到后不知道怎么转换了~
新建了一个LabVIEW技术起不保守交流群(557572818),欢迎加入一起交流讨论。
一周热门 更多>