Herunterladen Inhalt Inhalt Diese Seite drucken

JÄGER ADwin-Gold II Handbuch Seite 181

Vorschau ausblenden Andere Handbücher für ADwin-Gold II:
Inhaltsverzeichnis

Werbung

ADwin
Beispiel
Rem sending data to and receiving data from the PC while using
Rem a Fifo in ADwin-Gold II
#Include
ADwinGoldII.inc'for ADbasic
Rem #Include GoldIITiCo.inc 'for TiCoBasic
#Define
outfifo
Data_1
#Define
infifo
Data_2
#Define
rs_channel
1
#Define
sending
Par_10
#Define
receiving
Par_11
Dim
outfifo[1000]
As Long As Fifo
Dim
infifo[1000]
As Long As Fifo
Dim
send_time, rec_time, value,
Init:
Rem reset and initialize channel
RS_Reset(rs_channel)
RS_Init(rs_channel, 9600, 0, 8, 0, 0)
Fifo_Clear(1)
Fifo_Clear(2)
sending
=
0
:
receiving
Event:
Rem sending
If
(Fifo_Full(1) > 0)
If
(Write_Fifo_Full(rs_channel) = 0)
value
=
outFifo
check
= Write_Fifo(rs_channel, value)
Rem check is not used, since Write_Fifo_Full has
Rem proved that Fifo has empty elements.
If
(sending
= 0)
sending
=
1
send_time
= Read_Timer()
EndIf
EndIf
EndIf
Rem receiving
If
(Fifo_Empty(2) > 0)
check
= Read_Fifo(rs_channel)
If
(check
<> -1)
inFifo
=
check
If
(receiving
= 0)
receiving
=
1
rec_time
= Read_Timer()
EndIf
EndIf
EndIf
'reset status after defined delay (10ms)
If
(sending
> 0)
Then
If
((Read_Timer() - send_time) > 3000000)
sending
=
0
send_time
= Read_Timer()
EndIf
EndIf
If
(receiving
> 0)
If
((Read_Timer() - rec_time) > 3000000)
receiving
=
0
rec_time
= Read_Timer()
EndIf
EndIf
ADwin-Gold II, Handbuch Dez. 2018
'0: not sending, 1:sending
'0: not receiving, 1:receiving
check
As Long
=
0
Then
'any data present?
'read value from Fifo
Then
Then
'are there empty elements?
Then
'is a value in the receiving buffer?
'get value into inFifo
Then
Then
Then'send Fifo empty?
Then
Then
RSxxx-Schnittstelle
Write_Fifo_Full
175

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis