sendpacket.m

来自「基于串行接口的GPS驱动程序」· M 代码 · 共 25 行

M
25
字号
function WritePacket(gps, id, data)
    dle = 16;
    etx = 3;

    % Three byte header: (DLE, id, size)
    fwrite(gps, dle);
    fwrite(gps, id);
    fwrite(gps, length(data));
    
    % Send the data as a stream of bytes
    fwrite(gps, data);
    
    % Checksum: 2s complement of sum of data
    s = dle + id + length(data) + sum(data);
    cmp = bitcmp(s, 8);
    cmp = cmp + 1;
    cksum = bitand(cmp, 255);
    fwrite(gps, cksum);
    
    % Two byte packet terminator: (DLE, ETX)
    fwrite(gps, dle);
    fwrite(gps, etx);
    
   % Wait for the acknowledgement packet
   [id, data] = ReadPacket(gps);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?