Sep . 2025
A chave para uma comunicação eficaz com o módulo é implementar corretamente seu protocolo de controle serial. Este protocolo utiliza um formato de quadro binário, e todas as configurações de parâmetros e consultas de status são realizadas enviando e recebendo quadros de dados específicos.


Cada quadro de dados segue uma estrutura fixa, consistindo de um cabeçalho, comando, dados e cauda, entre outras partes.
Tabela 3: Estrutura do quadro do protocolo serial
De acordo com o documento do protocolo, a soma de verificação é calculada da seguinte forma: cada par de bytes nos dados a serem verificados é formado em um número de 16 bits e, em seguida, somado sequencialmente. Se o quadro de dados tiver um comprimento ímpar, 0x00 é anexado ao último byte. A parte remanescente (excedendo 16 bits) do processo de acumulação é adicionada novamente aos 16 bits inferiores do resultado até que a soma seja menor ou igual a 0xFFFF. Por fim, o número de 16 bits resultante é submetido a uma operação XOR com 0xFFFF para obter a soma de verificação final.
O código C de referência fornecido no documento do protocolo é o seguinte:
uint16_t PcCheckSum(uint8_t *buf, int16_t len) {
uint32_t soma = 0;
enquanto (len > 1) {
soma += 0xFFFF & ((*buf << 8) | *(buf + 1));
buf += 2;
len -= 2;
}
se (len) {
soma += (0xFF & *buf) << 8;
}
enquanto (soma >> 16) {
soma = (soma & 0xFFFF) + (soma >> 16);
}
retornar ((uint16_t)soma ^ 0xFFFF);
}

Um detalhe de engenharia digno de nota é que o documento do protocolo menciona que, se o usuário não quiser calcular o checksum, o campo CKSUM pode ser enviado como 0x0000, e o módulo ignorará o processo de checksum. Isso pode ser muito útil durante a fase inicial de depuração, mas, para garantir a confiabilidade da comunicação, o checksum correto deve ser implementado e usado no produto final.
A tabela a seguir categoriza e organiza todos os comandos suportados pelo módulo, fornecendo uma referência mais estruturada do que a documentação original.
Tabela 4: Referência completa do código de comando (CMD) do DMR858M
Parte 1: Análise aprofundada do módulo DMR858M
Parte 2: Integração de Hardware e Design de Referência
Parte 3: Desconstruindo o Protocolo de Controle Serial
Parte 4: Desenvolvimento de firmware e design de driver
Parte 5: Explorando recursos avançados e conclusão
+86-755-23080616
vendas@nicerf.com
Site: https://www.nicerf.com/
Endereço: 309-314, 3/F, Bldg A, edifício comercial Hongdu, Zona 43, Baoan Dist, Shenzhen, China
política de Privacidade
· Política de Privacidade
No momento não há conteúdo disponível
E-mail: sales@nicerf.com
Tel:+86-755-23080616