• vb串口发送数据实例 > 串口Xmodem协议的发送数据
  • 串口Xmodem协议的发送数据

    免费下载 下载该文档 文档格式:DOC   更新时间:2008-09-01   下载次数:0   点击次数:2
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:doc
    文档作者:User
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    串口Xmodem协议的发送数据 程序
    /**********************************************************
    日期:2007-05-21
    编写:李猛
    功能:编程实现简化Xmodem协议,为实现标准的Xmodem协议做基础
    备注:此程序中430为发送方
    说明:1.程序开始时,会循环等待NAK的到来,只要收到的不是NAK,
    就会一直等待下去,直到收到了NAK,才开始数据的发送;
    2.上一轮如果发送的是一组数据,则收到CAN,程序就中止;
    收到ACK,就发送下一组数据;收到NAK,就发送上一组数据;
    如果收到的不是上面三种,程序就返回,直到出现三个中的某一个;
    3.上一轮如果发送的是EOT,收到CAN就中止;收到ACK,就结束程序;
    收到NAK,就再发送EOT;收到的是其他数据就返回,直到出现三个中的某一个.
    **********************************************************/





    #include
    #define uchar unsigned char
    #define NAK 0x15 //Xmodem协议中的术语
    #define ACK 0x06
    #define CAN 0x18
    #define EOT 0x04
    #define SOH 0x01
    //要发送的数据,即430从此数组中取数据构成数据包,共22字节,分5次发送,最后一次补3个0x1A
    uchar FileSend[22] = {0xAA,0xA9,0xA8,0xA7,0xA6,0xA5,0xA4,0xA3,0xA2,0xA1,0xA0,0x9F,0x9E,0x9D,0x9C,0x9B,0x9A,0x99,0x98,0x97,0x96,0x95};
    //数据包,长9字节,分别为SOH,包序号,序号补码,5字节数据,校验码
    uchar DataSend[9];
    uchar Seq = 0x01; //数据包序号,初值为1
    uchar cmpl; //数据包序号的补码
    uchar csum; //垂直累加和校验码,初值为0
    uchar rec_PC; //收到的PC的确认命令
    uchar k = 0; //指向FileSend的标号,从中取数据时使用,初值为0
    uchar j = 0; //指向DataSend的标号,发送数据时使用,初值为0
    uchar fin_flag = 0; //数据取完的标志,为1时表示FileSend中的数据已经取完
    uchar eot_flag = 0; //发送完成的标志,为1时表示430已经发送过了EOT标志
    void Init_CLK(); //函数声明
    void Init_Port();
    void Init_UART0();

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 DOC格式下载
  • 您可能感兴趣的
  • vb串口发送数据类型  vb串口接收数据并显示  vb串口接收数据  vb串口发送多字节  vb串口界面发送文件  vb串口发送模式  vb串口同时发送和接收  vb串口设置发送优先  vb串口通信程序实例