资源简介
rzsz 3 48 tar gz 开源串口利用Xmodem Ymodem ZModem 下载 上传的程序 在Linux Arm Linux 都可使用 开源串口利用Xmodem Ymodem ZModem 下载 上传的程序 在Linux Arm Linux 都可使用 [rzsz 3 48 tar gz] Linux下ztelnet 的rz sz源码 包含XMODEM YMOD
代码片段和文件信息
/*% cc -O -K -dos % -o crc.exe
*/
/*
* Crc - 32 BIT ANSI X3.66 CRC checksum files
*/
#include
#define OK 0
#define ERROR (-1)
#define LINT_ARGS
/**********************************************************************\
|* *|
|* Demonstration program to compute the 32-bit CRC used as the frame *|
|* check sequence in ADCCP (ANSI X3.66 also known as FIPS PUB 71 *|
|* and FED-STD-1003 the U.S. versions of CCITT‘s X.25 link-level *|
|* protocol). The 32-bit FCS was added via the Federal Register *|
|* 1 June 1982 p.23798. I presume but don‘t know for certain that *|
|* this polynomial is or will be included in CCITT V.41 which *|
|* defines the 16-bit CRC (often called CRC-CCITT) polynomial. FIPS *|
|* PUB 78 says that the 32-bit FCS reduces otherwise undetected *|
|* errors by a factor of 10^-5 over 16-bit FCS. *|
|* *|
\**********************************************************************/
/* Need an unsigned type capable of holding 32 bits; */
typedef unsigned long int UNS_32_BITS;
/*
* Copyright (C) 1986 Gary S. Brown. You may use this program or
* code or tables extracted from it as desired without restriction.
*/
/* First the polynomial itself and its table of feedback terms. The */
/* polynomial is */
/* X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 */
/* Note that we take it “backwards“ and put the highest-order term in */
/* the lowest-order bit. The X^32 term is “implied“; the LSB is the */
/* X^31 term etc. The X^0 term (usually shown as “+1“) results in */
/* the MSB being 1. */
/* Note that the usual hardware shift register implementation which */
/* is what we‘re using (we‘re merely optimizing it by doing eight-bit */
/* chunks at a time) shifts bits into the lowest-order term. In our */
/* implementation that means shifting towards the right. Why do we */
/* do it this way? Because the calculated CRC must be transmitted in */
/* order from highest-order term to lowest-order term. UARTs transmit */
/* characters in order from LSB to MSB. By storing the CRC this way */
/* we hand it to the UART in the order low-byte to high-byte; the UART */
/* sends each low-bit to hight-bit; and the result is transmission bit */
/* by bit from highest- to lowest-order term without requiring any bit */
/* shuffling on our part. Reception works similarly. */
/* The feedback terms table consists of 256 32-bit entries. Notes: */
/* */
/* 1. The table can be generated at runtime if desired; code to do so */
/* is shown later. It might not be obvious but the feedback */
/* terms simply re
- 上一篇:易语言远程桌面V1.0源码
- 下一篇:用uA741产生正弦波
评论
共有 条评论