CASIC 多模卫星导航接收机协议规范中,哪条指令能让ATGM336H-5N只发送位置信息
时间: 2024-02-21 13:57:55 浏览: 163
根据我查阅的 CASIC 多模卫星导航接收机协议规范,可以使用以下命令让 ATGM336H-5N 只发送位置信息:
```
$PSRF103,00,00,01,01*XX
```
其中的参数依次为 GGA、GLL、GSA、GSV 四种语句的输出间隔,这里设置为 1 秒。这条指令会使设备只输出 GGA 语句,即位置信息。如果需要输出其他语句,可以调整参数的值。需要注意的是,在这种模式下,设备只会输出位置信息,不会输出其它信息,如速度、方向等。
相关问题
CASIC 多模卫星导航接收机协议规范中,哪条指令能停止ATGM336H-5N
根据我查阅的 CASIC 多模卫星导航接收机协议规范,可以使用以下命令停止 ATGM336H-5N 的运行:
```
$PSRF161,0*XX
```
其中的“XX”为两位校验和。这条指令会使设备立即停止工作并断电。需要注意的是,发送这个指令后,设备将无法再进行任何操作,只能通过重新上电来重新启动设备。
CASIC 多模卫星导航接收机协议规范中,使用c语言让ATGM336H-5N只发送位置信息
要使用 C 语言实现让 ATGM336H-5N 只发送位置信息的功能,可以通过串口发送相应的指令来实现。具体的代码实现如下:
```c
#include <stdio.h>
#include <string.h>
// 串口发送函数,这里需要根据实际情况进行实现
void send_serial_data(const char *data, int len);
int main() {
// 设置 ATGM336H-5N 只输出位置信息的指令
const char *command = "$PSRF103,00,00,01,01*XX\r\n";
// 计算校验和
int checksum = 0;
for (int i = 0; i < strlen(command); i++) {
checksum ^= command[i];
}
char checksum_str[3];
sprintf(checksum_str, "%02X", checksum);
// 替换指令中的校验和
char full_command[32];
sprintf(full_command, "%s%s", command, checksum_str);
full_command[strlen(full_command)] = '\0';
// 发送指令
send_serial_data(full_command, strlen(full_command));
return 0;
}
```
需要注意的是,这里的 `send_serial_data` 函数需要根据实际情况进行实现,用于向串口发送数据。另外,由于串口通信需要一定的配置,如波特率、数据位、停止位等,这里没有进行详细的配置。如果需要在实际应用中使用,还需要进行相应的配置。
阅读全文