Serielle Master Schnittstellen #H

Befehlsgruppe um die 3 seriellen Schnittstellen als Master zu verwenden z.B. zum Anschluss weiterer Peripherie an das Modul wie ein Temperaturfühler.

ACHTUNG: Ein Update des Projektes oder der Firmware ist über diese Schnittstelle nicht mehr möglich. Verwenden Sie In diesem Fall die USB-Schnittstelle oder eine freie Slave-Schnittstelle.

RS232 Baudrate einstellen

(Hardware RS232 Parameter)

#HRP

Baudrate [32-Bit]

SPI Parameter einstellen

(Hardware SPI Parameter)

#HSP

Frequenz, Modus, Datenreihenfolge

SPI Chip Select einstellen

(Hardware SPI Chipselect)

#HSC

ChipSelect

I²C Parameter einstellen

(Hardware I²C Parameter)

#HIP

Adresse, Frequenz

8-Bit (ASCII) String senden

(Hardware RS232/SPI/I²C  ASCII)

#HRA

"String";

#HSA

#HIA

16-Bit (Unicode) String senden

(Hardware RS232/SPI/I²C Unicode)

#HRU

"String";

#HSU

#HIU

32-Bit Signed Werte senden

(Hardware RS232/SPI/I²C Integer)

#HRI

Wert, Wert1...

#HSI

#HII

32-Bit Float Werte senden

(Hardware RS232/SPI/I²C float)

#HRT

Wert, Wert1...

#HST

#HIT

Binärdaten senden

(Hardware RS232/SPI/I²C Send binary)

#HRS

Anzahl, Daten...

#HSS

#HIS

Binärdaten aus Register senden

(Hardware RS232/SPI/I²C send values)

#HRX

Typ, Register-ID, Anzahl(1)

#HSX

#HIX

Binärdaten aus Array senden

(Hardware RS232/SPI/I²C send array)

#HRY

Typ, Array-ID, StartIndex(0), Anzahl(alle Elemente)

#HSY

#HIY

Datei senden

(Hardware RS232/SPI/I²C send File)

#HRF

<Filename>

#HSF

#HIF

Daten empfangen und in den Sendepuffer stellen

(Hardware RS232/SPI/I²C Receive to buffer)

#HRR

Anzahl [32-Bit] (max 1024)

#HSR

#HIR

8-Bit Daten empfangen und in ein Stringregister schreiben

(Hardware RS232/SPI/I²C Bytes to string)

#HRB

String-ID, Anzahl (max 250)

#HSB

#HIB

16-Bit Daten empfangen und in ein Stringregister schreiben

(Hardware RS232/SPI/I²C Words to string)

#HRW

String-ID, Anzahl (max 250)

#HSW

#HIW

Binäre Daten empfangen und in ein Register schreiben

(Hardware RS232/SPI/I²C Values to register)

#HRV

Typ, Register-ID, Anzahl(1)

#HSV

#HIV

Binäre Daten empfangen und in ein Array schreiben

(Hardware RS232/SPI/I²C Values to array)

#HRZ

Typ, Array-ID, StartIndex(0), Anzahl(alle Elemente)

#HSZ

#HIZ


Das entsprechende Interface kann nach einem dieser Befehle nicht mehr als Slave-Schnittstelle genutzt werden um Kommandos entgegen zunehmen. Es bekommt nun die Masterfunktion zum Steuern externer Peripherie.


RS232 Baudrate einstellen

#HRP

Baudrate

Mit dem Befehl wird die Baudrate (32-Bit Wert) eingestellt:

Baudrate

Fehler

9600

+0.04

19200

-0.08

38400

+0.16

57600

-0.08

115200

+0.64

230400

-0.80

460800

+2.08

921600

-3.68


SPI Parameter einstellen

#HSP

Frequenz, Modus, Datenreihenfolge

Mit dem Befehl wird die Frequenz (15600...1000000 Hz), der SPI-Modus (0..3) und die Datenreihenfolge der Master SPI Schnittstelle eingestellt

Datenreihenfolge

0

MSB first

1

LSB first


SPI Chip Select einstellen

#HSC

ChipSelect

Der Befehl definiert die ChipSelect Einstellung:

ChipSelect

0

Low

1

High

2

Automatisch (low aktiv)


I²C Parameter einstellen

#HIP

Adresse, Frequenz

Mit dem Befehl wird die Adresse (8 Bit) des anzusteuernden Busteilnehmers und die Frequenz (3900...1000000 Hz) eingestellt.


8-Bit (ASCII) String senden



#HRA

(RS232)

"String";

#HSA

(SPI)

#HIA

(I²C)

Der Befehl sendet einen String oder einzelne Codes als ASCII Wert(e) (8 Bit pro Zeichen).


16-Bit (Unicode) String senden



#HRU

(RS232)

"String";

#HSU

(SPI)

#HIU

(I²C)

Der Befehl sendet einen String oder einzelne Codes als Unicode Wert(e) (16 Bit pro Zeichen).


32-Bit Signed Werte senden



#HRI

(RS232)

Wert, Wert1...

#HSI

(SPI)

#HII

(I²C)

Der Befehl sendet einen oder mehrere  32-Bit Signed Integer Wert(e) (little endian).


32-Bit Float Werte senden



#HRT

(RS232)

Wert, Wert1...

#HST

(SPI)

#HIT

(I²C)

Der Befehl sendet einen oder mehrere 32-Bit Float Wert(e) (little endian).


Binärdaten senden



#HRS

(RS232)

Anzahl, Daten...

#HSS

(SPI)

#HIS

(I²C)

Der Befehl sendet eine Anzahl an Daten direkt über die Master Schnittstelle. Die Daten werden direkt übernommen und gesendet, eine Interpretation, wie Kalkulationsinterpretation, erfolgt nicht.


Binärdaten aus Register senden



#HRX

(RS232)

Typ, Register-ID, Anzahl(1)

#HSX

(SPI)

#HIX

(I²C)

Der Befehl sendet eine Anzahl an Registereinträge (Register-ID) binär über die Master Schnittstelle.

Typ

7

Signed Byte

1 Byte

little endian

8

Unsigned Byte

1 Byte

15

Signed Integer

2 Byte

16

Unsigned Integer

2 Byte

23

Signed Integer

3 Byte

24

Unsigned Integer

3 Byte

31

Signed Integer

4 Byte

32

Unsigned Integer

4 Byte

33

Float

4 Byte

115

Signed Integer

2 Byte

big endian

116

Unsigned Integer

2 Byte

123

Signed Integer

3 Byte

124

Unsigned Integer

3 Byte

131

Signed Integer

4 Byte

132

Unsigned Integer

4 Byte

133

Float

4 Byte


Binärdaten aus Array senden



#HRY

(RS232)

Typ, Array-ID, StartIndex(0), Anzahl(alle Elemente)

#HSY

(SPI)

#HIY

(I²C)

Der Befehl sendet eine Anzahl an Array-Elemente (Array-ID), beginnend mit dem Start Index, binär über die Master Schnittstelle.

Typ

7

Signed Byte

1 Byte

little endian

8

Unsigned Byte

1 Byte

15

Signed Integer

2 Byte

16

Unsigned Integer

2 Byte

23

Signed Integer

3 Byte

24

Unsigned Integer

3 Byte

31

Signed Integer

4 Byte

32

Unsigned Integer

4 Byte

33

Float

4 Byte

115

Signed Integer

2 Byte

big endian

116

Unsigned Integer

2 Byte

123

Signed Integer

3 Byte

124

Unsigned Integer

3 Byte

131

Signed Integer

4 Byte

132

Unsigned Integer

4 Byte

133

Float

4 Byte


Datei senden



#HRF

(RS232)

<Filename>

#HSF

(SPI)

#HIF

(I²C)


Der Befehl sendet eine Datei (<Filename>) über die Master Schnittstelle.


Daten empfangen und in den Sendepuffer stellen



#HRR

(RS232)

Anzahl [32-Bit] (max 1024)

#HSR

(SPI)

#HIR

(I²C)

Der Befehl liest eine Anzahl (32-Bit Wert) an Daten aus dem Master Empfangspuffer und stellt sie in den Sendepuffer. Die Rückmeldung ist folgendermaßen aufgebaut:

ESC

H

R/S/I

R

Länge

Daten 1

Daten 2

...

Daten n

...


$1B

$48

$52/$53/$49

$52

32-Bit

8-Bit Wert

8-Bit Wert

8-Bit Wert

8-Bit Wert


Siehe auch mstRA()


8-Bit Daten empfangen und in ein Stringregister schreiben



#HRB

(RS232)

String-ID, Anzahl (max 250)

#HSB

(SPI)

#HIB

(I²C)

Der Befehl liest eine Anzahl an Daten aus dem Master Empfangspuffer und schreibt sie in das angegebene Stringregister (String-ID).


Siehe auch mstRA()


16-Bit Daten empfangen und in ein Stringregister schreiben (ab V1.2)



#HRW

(RS232)

String-ID, Anzahl (max 250)

#HSW

(SPI)

#HIW

(I²C)

Der Befehl liest eine Anzahl an Daten aus dem Master Empfangspuffer und schreibt sie in das angegebene Stringregister (String-ID).


Siehe auch mstRA()


Binäre Daten empfangen und in ein Register schreiben (ab V1.4)



#HRV

(RS232)

Typ, Register-ID, Anzahl(1)

#HSV

(SPI)

#HIV

(I²C)

Der Befehl liest eine Anzahl an Daten aus dem Master Empfangspuffer und schreibt sie in das angegebene Register (Register-ID).

Typ

7

Signed Byte

1 Byte

little endian

8

Unsigned Byte

1 Byte

15

Signed Integer

2 Byte

16

Unsigned Integer

2 Byte

23

Signed Integer

3 Byte

24

Unsigned Integer

3 Byte

31

Signed Integer

4 Byte

32

Unsigned Integer

4 Byte

33

Float

4 Byte

115

Signed Integer

2 Byte

big endian

116

Unsigned Integer

2 Byte

123

Signed Integer

3 Byte

124

Unsigned Integer

3 Byte

131

Signed Integer

4 Byte

132

Unsigned Integer

4 Byte

133

Float

4 Byte


Siehe auch mstRA()


Binäre Daten empfangen und in ein Array schreiben



#HRZ

(RS232)

Typ, Array-ID, StartIndex(0), Anzahl(alle Elemente)

#HSZ

(SPI)

#HIZ

(I²C)

Der Befehl liest eine Anzahl an Daten aus dem Master Empfangspuffer und schreibt sie, beginnend mit dem Start Index in das angegebene Array (Array-ID). Vor dem Empfangen muss ein Array definiert werden (siehe #VAI, #VAF).

Typ

7

Signed Byte

1 Byte

little endian

8

Unsigned Byte

1 Byte

15

Signed Integer

2 Byte

16

Unsigned Integer

2 Byte

23

Signed Integer

3 Byte

24

Unsigned Integer

3 Byte

31

Signed Integer

4 Byte

32

Unsigned Integer

4 Byte

33

Float

4 Byte

115

Signed Integer

2 Byte

big endian

116

Unsigned Integer

2 Byte

123

Signed Integer

3 Byte

124

Unsigned Integer

3 Byte

131

Signed Integer

4 Byte

132

Unsigned Integer

4 Byte

133

Float

4 Byte