ECOM-Assistent für serielle Ports - Senden und Empfangen, Modbus CRC16 - Verifikation, Debugger-Tools für Ingenieure

Zahlung ¥1.99Zahlung ¥1.99

该内容已接入现有会员/付费系统,解锁后可查看完整资料或下载附件。

查看解锁方式
ECOM-Assistent für serielle Ports - Senden und Empfangen, Modbus CRC16 - Verifikation, Debugger-Tools für Ingenieure

Softwarebeschreibung

Der ECOM Serial Port Assistant ist eine Debuggersoftware für serielle Ports (RS232) mit CRC-Berechnungen. Entwickelt von I Love IC Navigation Network Studio. ECOM Serial Port Assistant unterstützt die übliche 110 ~ 921600bps-Baud - Rate, kann die Überprüfung, Datenbit und Stoppbit einstellen, kann in ASCII-Code oder Hexadezimal erhalten oder senden alle Daten oder Zeichen (einschließlich Chinesisch), kann Textdateien beliebiger Größe senden, kann automatische Senden-Zyklen willkürlich festlegen und kann empfangene Daten in Textdateien speichern. Modbus CRC16 - Überprüfung, CRC16 - Überprüfung, Akkumulationssumme - Überprüfung, Exclusive OR - Überprüfung mit Dateien oder Datenzeichenfolge, Modbus LRC-Rechenwerkzeug, ist ein guter Hilfsmittel für Ingenieure, um die seriellen Anschlüsse von MCU-Computern zu debuggen.

Software-Schnittstelle

ECOM-Assistent für serielle Ports - Senden und Empfangen, Modbus CRC16 - Verifikation, Debugger-Tools für IngenieureAbbildung

Software-Features

1, Unterstützung für Windows 9x / 2000 / XP / 2003 / Vista / Win7 - Systeme;

2, grüne Software, keine Installation erforderlich. Führen Sie die Dekomprimierungssoftware aus, um das Paket in das angegebene Verzeichnis zu entpacken. Deinstallieren Sie nur das Programmverzeichnis zu löschen;

3, unterstützt die übliche 110 ~ 921600bps-Bordrate;

4, Portbereich ist COM1 - COM255, unterstützt Erweiterungsanschlüsse (USB zu RS232);

5, kann die Verifizierung, Daten und Stopp-Bits einstellen;

6, kann Daten in Zeichen oder Hexadezimal senden und empfangen, unterstützt den Senden und Empfang von chinesischen Zeichen;

7, unterstützt das Senden von Dateien;

8, Datenübertragungszone ermöglicht die Einstellung des Sendenzyklus, automatisches Senden von Daten;

9, unterstützt die Tastatur-Eingabe, die Tastaturdaten an den seriellen Anschluss senden;

10, unterstützt die regelmäßige Speicherung von Empfangsfenster-Daten, um die Informationen über die langfristige Debugging-Dokumentation zu überprüfen;

11, effektive Erkennung von Kommunikationsfehlern, um Software-Störstörungen zu vermeiden (z. B. USB-in - Serial-Port - Gerät-Entzug - Erkennung);

12, Datenempfangsfenster und Datei-Sendung sind Multi-Thread - Design.

Modebus CRC16 - Prüfungen, CRC16 - Prüfungen, kumulative Summen - Prüfungen, Exclusive OR - Prüfungen, Modebus LRC-Rechner mit Dateien und Datenframe. Das gesendete Datenrahmen kann optional das Berechnungsergebnis hinzufügen und das Prüfergebnis zusammen mit dem Datenrahmen verpackt und gesendet werden.

1.3.1 V2.00Version hinzugefügt Funktionen

Xmodem-Funktion hinzugefügt (128 - Bytes-Sendung, nur CRC-Verifikation unterstützt).

Xmodem - 1k-Funktion hinzugefügt (1024 Bytes gesendet, nur CRC-Prüfungen unterstützt).

3. Unterstützt den Befehl zum Starten der Xmodem - 1k-Funktion (könnte automatische Dateiübertragung Funktion tun).

1.3.2 V2.20- Version hinzugefügte Funktionen

1. Fügen Sie benutzerdefinierte Datenrahmen-Header, Datenrahmen-End - Funktion hinzu.

2. Hinzufügen von Modebus CRC16 - Überprüfung, CRC16 - Überprüfung, kumulative Summe - Überprüfung, Exclusive OR - Überprüfung, Modebus LRC und andere Überprüfungen.

3. Hinzufügen von Paket-Spiegel - Rücksendfunktionen.

4. Fügen Sie den Schaltflächenänderung des Empfangs-Dialogfelds hinzu.

5. Hinzufügen von Escape-Symbolen.

6. Unterstützt das Senden von Befehlseiten-Dateien (siehe speziell die Anweisungen für die Verwendung von Befehlseiten-Dateivorlagen).

7. Hinzufügen Fenster schwimmt immer vorne Schaltfläche, hinzufügen Befehlstring verstecken Anzeige Schaltfläche.

1.3.3 V2.40Version hinzugefügt Funktionen

1, 110, 300 und 600 - Baud-Raten hinzugefügt.

2, Korrektur der Schriftart-Einstellungen - Taste-Funktion des Empfangsformulars und Hinzufügung der Hintergrundfarbe-Einstellungen - Taste für das Empfangsformular.

1.3.4 V2.60Version hinzugefügt Funktionen

1. Fügen Sie die Schaltfläche „Prüfungsergebnis" hinzu, um die Modebus CRC16 - Überprüfung, CRC16 - Überprüfung, die kumulative Summe - Überprüfung, die Exclusive-OR - Überprüfung für Dateien oder Datenrahmen zu implementieren, und die Modebus-LRC - Berechnungen werden angezeigt.

2 und

1.3.5 V2.80Version hinzugefügt Funktionen

1, Korrektur des Datentypes des Prüfealgorithmus.

2. Hinzufügen eines Teils des TTY-Emulationsterminal - Debugging-Protokolls, um Linux-Befehle einfach zu debuggen.

3. Das Empfangsfenster kann einfügen Senden Zeichenfolge Befehl.

4, 1Kxmodem und 1Kxmodem Autoget-Funktionen für den Empfang von Dateien hinzugefügt.

5, Hinzufügen von Terminalsteuerung Befehl, kann durch den Empfang von Befehlen, um das Empfangsfenster des seriellen Debugging-Ports zu steuern.

Software-Anleitung

ECOM-Assistent für serielle Ports - Senden und Empfangen, Modbus CRC16 - Verifikation, Debugger-Tools für IngenieureAbbildung1

Abbildung 2 Befehl zum Starten von Xmodem - 1k

ECOM-Assistent für serielle Ports - Senden und Empfangen, Modbus CRC16 - Verifikation, Debugger-Tools für IngenieureAbbildung2

Abbildung 3 Befehlstring Dateien senden

Allgemeine Verwendung

Allgemeine Verwendung ist relativ einfach, siehe die Beschreibung in Abbildung 1, hier wird nicht ausführlich beschrieben.

Tastaturdatenübertragung

Legen Sie den Cursor der Maus in das Empfangsfeld und geben Sie dann den Tastatur-Tastaturwert ein, der ECOM-Assistent für serielle Anschlüsse sendet automatisch den Tastaturwert an den seriellen Anschluss.

1.4.3 Xmodem  Xmodem - 1k

Die Xmodem - und Xmodem - 1k-Kommunikationsprotokolle werden in der Xmodem-Spezifikation ausführlich beschrieben und werden hier nicht ausführlich beschrieben.

Befehl starten Xmodem - 1k

Befehl Starten Sie die Xmodem - 1k-Methode: Nach der Auswahl der normalen seriellen Port-Einstellungen, wählen Sie die Option "AutoSend" für die Dateiübertragung, wenn die ECOM-Serial - Port-Assistent - Software empfängt "<auto>+ Ordner / Dateiname +</auto> Die Software startet automatisch das Xmodem - 1k - Übertragungsprotokoll und <auto>+ Ordner / Datei +</auto> Die angegebene Datei wird durch Xmodem - 1k übertragen. Der Ordner in den Befehlen wird zusammen mit den Dateien in einem Verzeichnis des ECOM Serial-Assistenten gespeichert.

Befehlstring-Datei Senden

ECOM Serial Port Assistant V2.20 Version unterstützt diese Funktion, ermöglicht es dem Benutzer, die Befehlstring-Datei anpassen, wählen Sie Senden, ECOM Serial Port Assistant wird die Befehle des Benutzers analysieren, einzeln nach unten senden. Befehlstring-Datei Senden unterstützt gleichzeitig die Auswahl eines Befehls in der Befehlstring-Datei Befehl Senden, unterstützt auch Senden, springen Sie auf die angegebene Befehlsnummer, um nach unten zu senden, Befehlstring-Datei Vorlage wie folgt:

[52ic.net]
; 发送命令条的起始条数
start_52ic=0
; 命令条总数,不要写错了,否则会出错,最大 100 条。
total_52ic=4
; 循环多少次后退出。最大 100 次循环。
cycle_52ic=5
; 检验方式。
check_52ic=4

[Sending]
; 发送对话框是否 HEX 格式发送
HEX0=0
; 包尾是否加校验
CHECK0=1
; 是否使用转义符
TAILED0=0
; 数据头是否选择
HEAD0=0
; 数据头数据
DATAHEAD0=数据头--
; 数据尾是否选择
TAIL0=0
; 数据尾数据
DATATAIL0=--数据尾
; 发送对话命令条
DATA0=欢迎使用我爱IC导航网
; 发送数据后延时多长时间才执行下条命令
DELAY0=1000

; 发送对话框是否 HEX 格式发送
HEX1=0
; 包尾是否加校验
CHECK1=0
; 是否使用转义符
TAILED1=0
; 数据头是否选择
HEAD1=1
; 数据头数据
DATAHEAD1=数据头--
; 数据尾是否选择
TAIL1=1
; 数据尾数据
DATATAIL1=--数据尾
; 发送对话命令条
DATA1=欢迎使用我爱IC导航网
; 发送数据后延时多长时间才执行下条命令
DELAY1=1000

HEX2=1
CHECK2=1
TAILED2=0
HEAD2=1
DATAHEAD2=AA AAAAAA
TAIL2=1
DATATAIL2=BB BB BB BB
DATA2=01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 12 13 14 15 16 17 18 19
DELAY2=1000

HEX3=1
CHECK3=1
TAILED3=0
HEAD3=1
DATAHEAD3=AAAA
TAIL3=1
DATATAIL3=BB BB
DATA3=01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 12 13 14 15 16 17 18 19
DELAY3=1000

[END]

Tabelle 1 Befehlstring-Datei Schlüsselwort Beschreibung

Befehl BefehlBefehl BeschreibungBemerkung
[52ic.net]Parameter-Bereich 
Start_52icAnfängliche Anzahl von Befehlszeilen sendenMuss kleiner als die Gesamtzahl der Befehle sein
Total_52icSchreiben Sie nicht die Anzahl der Befehle falsch, sonst wird es ein Fehler geben.Maximal 100 Artikel
cycle_52icZyklus-Send - Befehl-String - Anzahl der Zeiten, nach Abschluss der Zyklus-Sendung beendetMaximal 100 Zyklen
check_52icTest-Methode Auswahl, größer oder gleich 0, kleiner als die Software unterstützte Prüfprotokoll-Einträge 
[Sending]Befehl Daten-Send - Bereich 
HEXSend Dialogfeld, ob HEX-Format für Senden ausgewählt, 0 bedeutet keine Auswahl 
CHECKÜberprüfung, wenn die Daten ausgewählt werden, 0 bedeutet keine Auswahl 
TAILEDAm Ende der Befehlsfolge wird ein Escape Zeichen hinzugefügt, 0 bedeutet keine Auswahl. 
HEADnicht ausgewählt wird, wenn der Befehlstring einen Header hinzufügt, 0 bedeutet, dass 
DATAHEADkeine Header-Daten 
TAILnicht ausgewählt wird, wenn der Befehlstring einen Hinzufügenden Daten enthält, 0 bedeutet, dass 
DATATAILkeine Hinzufügenden Daten 
DATABefehlstring-Daten 
DELAYwie lange es dauert, bis der nächste Befehl ausgeführt wird, nachdem die Daten gesendet wurden 

Daten-Frameformat

Ecom Serial Port Software unterstützt benutzerdefinierte Daten-Frame - Kopf, Daten-Frame - Tail-Funktion. Es unterstützt eine Vielzahl von Paketprüfungsprotokollen, wie Modebus CRC16 - Überprüfung, CRC16 - Überprüfung, kumulative Summe - Überprüfung, Exclusive OR - Überprüfung, Modebus LRC usw. Der Datenrahmen überprüft nur die Daten im Dateneingabefeld, berechnet nicht die Daten des Frame-Headers und des Frame-Enders, jedes Mal, wenn es gesendet wird, führt die Software die Datenprüfung gemäß den verschiedenen Verifizierungsalgorithmen durch, die vom Benutzer ausgewählt wurden, und kombiniert das Berechnungsergebnis und die ursprünglichen Daten in einem vollständigen Datenrahmen. Das Frame-Format sieht in der folgenden Tabelle aus.

Tabelle 2 Beschreibung des Datenframeformats für Softwareversionen ab V2.20

Senden Sie zuerst, dannSenden Sie, dannund schließlich
- Datenframe-HeaderDatenDatenrahmenüberprüfungDatenrahmenüberschreitungEscape
Schaltfläche für Datenrahmenkopf aktivierenAusfüllen von Daten zu sendenAuswählen von DatenüberprüfungsmethodeSchaltfläche für Datenrahmenüberschreitung aktivierenEnable Escape Button

Terminalsteuerungsbefehl

Der ECOM-Serie-Assistent steuert das Empfangsfenster des Serie-Assistenten durch den Empfangsbefehl, um die Daten durch den seriellen Port zu speichern.

<ecomclear>Löschen von Fensterdaten
<ecomset>Dipset=1</ecomset>Festlegen des Fensterformat für die Anzeige HEX
<ecomset>Dipset = 0</ecomset>Formatieren der Anzeige des Fensters als Zeichen
<ecomsave></ecomsave>Automatisches Speichern von Fensterdaten, Speichern von Dateien mit Systemzeit benannt
<ecomsave>+ + Name</ecomsave>Speichern von Fensterdaten, Benutzername, z. B.
<ecomsave>data.txt</ecomsave> 
<ecomsave>updata\data.txt</ecomsave> 
<ecomdel>+ + Name</ecomdel>Löschen von Dateien, die vom Benutzer angegeben wurden
<ecomdir>NewDir</ecomdir>Erstellen Sie ein Verzeichnis unter dem Verzeichnis, in dem die Software läuft,

Befehlsausführung Fehler zurückgegeben 0x15, Befehlsausführung erfolgreich zurückgegeben 0x06; je niedriger die Baudrate, desto größer ist die Wahrscheinlichkeit, dass ein Fehler auftritt, hauptsächlich durch einen Frame-Daten - Empfang Zeitüberschreiten.

Dokumente und Datenüberprüfung

1. Dateiüberprüfung

Ecom Serial Port Software mit Berechnungsdateien Modebus CRC16 - Überprüfung, CRC16 - Überprüfung, Akkumulations-Sum - Überprüfung, Exclusive-OR - Überprüfung, Modebus LRC Berechnungswerkzeuge, die Berechnungsmethode ist, die Datei zu berechnen in "Transportprotokoll" Öffnen Sie die Datei im Dialogfeld zu öffnen, wählen Sie "Datenüberprüfungsformat", klicken Sie auf die Schaltfläche "Verifizierungsergebnisse", im Dialogfeld wird das Ergebnis angezeigt, wenn Sie das Ergebnis speichern möchten, klicken Sie auf die Schaltfläche "Speichern Fenster" können.

ECOM-Assistent für serielle Ports - Senden und Empfangen, Modbus CRC16 - Verifikation, Debugger-Tools für IngenieureAbbildung3

Abbildung 4 Berechnung des Prüfwertes der Dokumente

1. Datenüberprüfung

Die Ecom Serial Port Software unterstützt die Modebus CRC16 - Überprüfung, CRC16 - Überprüfung, Akkumulationssumme - Überprüfung, Exclusive-OR - Überprüfung, Modebus LRC-Berechnungen und unterstützt die Senden von Berechnungen zusammen mit dem Datenframe an das serielle Portgerät. Die Berechnungsmethode ist zuerst "Transferprotokoll" öffnen Sie das Dialogfeld des Dokuments leer, wählen Sie "Datenüberprüfungsformat", klicken Sie auf die Schaltfläche "Verifizierungsergebnisse", im Dialogfeld wird das Ergebnis der Überprüfung angezeigt, wenn Sie das Ergebnis speichern müssen, klicken Sie auf die Schaltfläche "Fenster speichern". Wenn Sie die Berechnungen zusammen mit dem seriellen Anschluss-Gerät senden möchten, wählen Sie die Auswahlschaltfläche "Datenüberprüfung", und wählen Sie dann Daten senden aus.

ECOM-Assistent für serielle Ports - Senden und Empfangen, Modbus CRC16 - Verifikation, Debugger-Tools für IngenieureAbbildung4

Abbildung 5 Berechnung des Prüfswertes der Daten

entsprechende Prüfmethode

Ecom Serial Port Software unterstützt Modebus CRC16 - Überprüfung, CRC16 - Überprüfung, kumulative Summe - Überprüfung, Exclusive OR - Überprüfung, Modebus LRC und andere Kooperation, spezifische Algorithmen in der folgenden Programmliste. Verwandte Algorithmen Bitte finden Sie relevante Informationen für sich selbst zu verstehen, wenn das folgende Programm Probleme hat, willkommen, kontaktieren Sie uns, wir werden den Algorithmus rechtzeitig korrigieren.

1. Modebus-CRC16 - Verifikationsalgorithmus

//**********************************************************************************************************
// 函数名称 : GetModbusCRC16
// 函数功能 : ModbusCRC16 校验
// 入口参数 : cp    要检验的字符
//            leng  长度
// 返 回 值 : ModbusCRC16
// 备    注 :
//**********************************************************************************************************
// 修改人 : 我爱 IC 导航网(http://www.52ic.net/)
//**********************************************************************************************************
unsigned short GetModbusCRC16(unsigned char *cp, unsigned int leng) {
    unsigned int j, i, crc = 0xFFFF;

    if (leng <= 0) {
        return 0;
    }
    for (j = 0; j < leng; j++) {
        crc = crc ^ (unsigned int)(cp[j]);
        for (i = 0; i < 8; i++) {
            if ((crc & 1) != 0) {
                crc = (crc >> 1) ^ 0xA001;
            } else {
                crc = crc >> 1;
            }
        }
    }
    return (unsigned short)crc;
}

2. CRC16 - Prüf-Algorithmus

//**********************************************************************************************************
// 函数名称: GetCRC16
// 函数功能: 循环冗余校验 CRC16 校验
// 入口参数: cp    要检验的字符
//           leng  长度
// 返 回 值: CRC16
// 备    注: CRC   =X^16 + X^12 + X^5 + 1
//**********************************************************************************************************
// 修改人: 我爱 IC 导航网(http://www.52ic.net/)
//**********************************************************************************************************
unsigned short GetCRC16(unsigned char *cp, unsigned int leng) {
    unsigned short crc = 0;
    unsigned int i, j;
    
    if (leng <= 0) {
        return 0;
    }
    
    for (j = 0; j < leng; j++) {
        crc ^= (int)*cp++ << 8;
        for (i = 0; i < 8; ++i) {
            if (crc & 0x8000) {
                crc = (crc << 1) ^ 0x1021;
            } else {
                crc <<= 1;
            }
        }
    }
    return crc & 0xFFFF;
}

3. Akkumulations - und Verifikationsalgorithmen

//**********************************************************************************************************
// 函数名称: GetCheckSum
// 函数功能: 16位校验和
// 入口参数: cp    要检验的字符
//           leng  长度
// 返 回 值: 校验和结果
// 备    注:
//**********************************************************************************************************
// 修改人: 我爱 IC 导航网(http://www.52ic.net/)
//**********************************************************************************************************
unsigned short GetCheckSum(unsigned char *cp, unsigned int leng) {
    unsigned short crc = 0;
    unsigned int i;
    
    if (leng <= 0) {
        return 0;
    }
    
    for (i = 0; i < leng; i++) {
        crc += cp[i];
    }
    return crc & 0xFFFF;
}

4. Exklusiv-OR - Prüfalgorithmus

  //**********************************************************************************************************
// 函数名称: GetBccCheck
// 函数功能: BCC异或校验法
// 入口参数: cp    要检验的字符
//           leng  长度
// 返 回 值: 校验结果
// 备    注:
//**********************************************************************************************************
// 修改人: 我爱 IC 导航网(http://www.52ic.net/)
//**********************************************************************************************************
unsigned char GetBccCheck(unsigned char *cp, unsigned int leng) {
    unsigned char bcc = 0;
    unsigned int i;
    
    if (leng <= 0) {
        return 0;
    }
    
    for (i = 0; i < leng; i++) {
        bcc ^= cp[i];
    }
    return bcc; // 无需 & 0xFFFF 因为 bcc 已是 unsigned char 类型
}

1. LRC-Prüfmethode

//**********************************************************************************************************
// 函数名称: GetLRC
// 函数功能: 计算 LRC 值。
// 入口参数: uint8ptr, 输入的数据为 8 位指针,含有生成 LRC 所使用的二进制数据的报文缓冲区指针
//           usDataLen,报文缓冲区字节数。
// 返 回 值: 纵向冗余校验码
// 备    注:
//**********************************************************************************************************
// 修改人: 我爱 IC 导航网(http://www.52ic.net/)
//**********************************************************************************************************

unsigned char GetLRC(unsigned char *uint8ptr, unsigned int usDataLen) {
    unsigned char uchLRC = 0; // LRC 字节初始化
    while (usDataLen--) { // 遍历报文缓冲区
        uchLRC += *uint8ptr++; // 缓冲区字节相加,无进位
    }
    return ((unsigned char)(-uchLRC)); // 返回二进制补码
}

Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

《 “ECOM-Assistent für serielle Ports - Senden und Empfangen, Modbus CRC16 - Verifikation, Debugger-Tools für Ingenieure” 》 有 6 条评论

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.