1.直接以ASCII码的方式进行发送。
所以只需要简单的一句代码,将文本框内容转换为ASCII码进行发送。
my_serialport->write(ui->lineEdit->text().toLatin1());
这样就以ASCII码的形式发送给下位机
2.以十六进制进行发送。
union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。
所以说,管union的叫共用体还真是贴切——完全就是共用一个内存首地址,并且各种变量名都可以同时使用,操作也是共同生效。参考http://blog.csdn.net/huqinwei987/article/details/23597091
首先定义联合体
union MyUnion
{
float temp;
unsigned char Ch[4];
}uni;
进行接收数据
uni.temp = ui->lineEdit->text().toFloat();
用QbyteArray进行传输
QByteArray qByte;
for (int i = 0;i < 4;i++)
{
qByte[i] = uni.Ch[i];
}
my_serialport->write(qByte);