我正在尝试使用QSerialPort从声纳(EchoRange智能传感器)获取信息,但我没有这方面的经验。通过portname,baudrate(4800,测试其他速率),数据位(8bit),流量控制(no),奇偶校验(no)和stopbits(两种)的设置,我可以通过以下方式获取数据流:
const QByteArray data = m_serialport-> readAll(); qDebug()<< QString的(数据)
但输出很奇怪。
B' \ X00 \ X00' B' [' B' \ XD7 \ XD7 \ xd7uu \固定的\ xedn- \ xd9 \ X95 \ XEB \ XB7' B' YweWQ' B' \ XA7 \ x9b \ X93 \ XA3 \ X8F' B' \ x8d \ xa7y \ XAB \ X99' B' \ x9d \ xe5 \ XEB \ X00'
但根据NMEA 0183标准,我应该得到类似的东西:
$ SDDPT,...
我想知道是否必须向我的设备发送一个命令来告诉它要发出哪些数据。 所以我测试了
m_serialport-→写(QByteArray中(" $ PAMTC,EN,ALL,1,5- * HH&#34));
m_serialport-→写(QByteArray中(" $ SDDPT&#34))
m_serialport-→写(QByteArray中(" $ - DBT,x.x中,F,x.x中,M x.x中,F * HH&#34))
没有任何变化,但指示灯显示我的设备收到信号。
您能告诉我如何获得下面协议中的深度数据吗? 先感谢您! http://www.tronico.fi/OH6NT/docs/NMEA0183.pdf