c# - 通过串口发送 nmea 命令的问题
问题描述
我正在使用.net 中的串行端口控件通过串行通信发送 parm 命令,以从我的 gps 设备获得额外的状态。
根据我在互联网上找到的描述,可以通过以下命令激活 fom、gsv、...:
$PARM,NMEA,7023 我的请求的回复需要是: $PARM,NMEA,7023*[check sum value] 以确认传输的命令。在我的
在我的情况下,返回状态总是: $GPTXT,01,01,01,PARM inv format*32 我不知道我做错了什么。在信息的最后,我总是转移字符。
你知道我做错了什么,或者是否可以发送这样的请求?非常感谢您提前。
最好的问候,米奇
解决方案
见下文您的回车和换行错误
static void Main(string[] args)
{
string NMEA = "$PARM,NMEA,7023\r\n";
//commands do not have checksum
}
static byte Calc_checksum(byte[] sz, int nCount)
{
byte cs = 0;
for (int i = 1; i < nCount; i++)
{
cs ^= sz[i];
}
return cs;
}
推荐阅读
- java - 将数组作为参数传递;使用扫描器类在 Java 中使用用户输入设置数组
- python - 如何在 Python 中连接多个(超过 2 个)二维数组?
- azure-devops - Azure devops 管道:无法使用 SourceVersion 变量部署特定变更集
- html - 如何将元素与容器的顶部和底部对齐?
- javascript - 是否可以将 D3.tree() 与包含父母而不是孩子的数据集一起使用?
- environment-variables - Postman 中的环境变量
- java - Android ListView 项目太大不知道为什么
- c++ - 强制 CMake 重建预编译的头文件
- java - 运行 docker 容器“NoClassDefFoundError”时出错
- google-data-studio - 在 Google Data Studio 中可视化仪表板时动态创建/访问图表