INKEY/de

(Difference between revisions)
Jump to: navigation, search
(See also)
(Example)
Line 66: Line 66:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">Example</span> =
+
= <span class="f_Header">Beispiel</span> =
  
 
<br/><source lang="bascomavr">
 
<br/><source lang="bascomavr">
Line 79: Line 79:
 
   
 
   
 
$regfile = "m48def.dat" ' specify the used micro
 
$regfile = "m48def.dat" ' specify the used micro
$crystal = 4000000 ' used crystal frequency
+
$crystal = 4000000 ' Taktfrequenz
$baud = 19200 ' use baud rate
+
$baud = 19200 ' Baudrate
 
$hwstack = 32 ' default use 32 for the hardware stack
 
$hwstack = 32 ' default use 32 for the hardware stack
 
$swstack = 10 ' default use 10 for the SW stack
 
$swstack = 10 ' default use 10 for the SW stack
Line 87: Line 87:
 
Dim A As Byte , S As String * 2
 
Dim A As Byte , S As String * 2
 
Do
 
Do
  A = Inkey() 'get ascii value from serial port
+
  A = Inkey() 'ASCII-Zeichen von der seriellen Schnittstelle empfangen
 
's = Inkey()
 
's = Inkey()
If A > 0 Then 'we got something
+
If A > 0 Then 'es wurde etwas empfangen
 
  Print "ASCII code " ; A ; " from serial"
 
  Print "ASCII code " ; A ; " from serial"
 
End If
 
End If
Loop Until A = 27 'until ESC is pressed
+
Loop Until A = 27 'bis ESC gedrückt wird
 
   
 
   
A = Waitkey() 'wait for a key
+
A = Waitkey() 'auf ein Zeichen warten
 
's = waitkey()
 
's = waitkey()
 
Print Chr(a)
 
Print Chr(a)
 
   
 
   
'wait until ESC is pressed
+
'Warten bis ESC gedrückt wird
 
Do
 
Do
 
Loop Until Inkey() = 27
 
Loop Until Inkey() = 27

Revision as of 23:40, 21 February 2013

Contents

Funktion

Gibt den ASCII-Wert des ersten Zeichens aus dem seriellen Buffer zurück.

 

 

Syntax

var = INKEY()

var = INKEY(#channel)

 

 

Anmerkungen

Var

Byte-, Integer-, Word-, Long- oder String-Variable.

Channel

Konstante Nummer des Software-UART-Kanals.

 

Wenn kein Zeichen ansteht dann wird Null zurückgegeben.

Benutzen Sie IsCharWaiting() um zu prüfen ob ein Zeichen ansteht.

 

Die INKEY-Funktion kann benutzt werden wenn eine serielle Schnittstelle benutzt wird.

Die serielle Schnittstelle kann mit einem Com-Port eines PCs verglichen werden.

 

Eine Null (0) wird zurückgegeben wenn kein Zeichen ansteht. Die Funktion eignet sich daher nur bedingt wenn auch Nullen empfangen werden sollen. Man kann nicht unterscheiden zwischen einer empfangenen Null und dem Fall dass kein Zeichen ansteht.

In so einem Fall kann man IsCharwaiting benutzen um herauszufinden ob ein Zeichen ansteht.

 

 

Siehe auch

WAITKEY , ISCHARWAITING

 

 

Beispiel


'-----------------------------------------------------------------------------------------
'name : inkey.bas
'copyright : (c) 1995-2005, MCS Electronics
'purpose : demo: INKEY , WAITKEY
'micro : Mega48
'suited for demo : yes
'commercial addon needed : no
'-----------------------------------------------------------------------------------------
 
$regfile = "m48def.dat" ' specify the used micro
$crystal = 4000000 ' Taktfrequenz
$baud = 19200 ' Baudrate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
 
Dim A As Byte , S As String * 2
Do
 A = Inkey() 'ASCII-Zeichen von der seriellen Schnittstelle empfangen
's = Inkey()
If A > 0 Then 'es wurde etwas empfangen
 Print "ASCII code " ; A ; " from serial"
End If
Loop Until A = 27 'bis ESC gedrückt wird
 
A = Waitkey() 'auf ein Zeichen warten
's = waitkey()
Print Chr(a)
 
'Warten bis ESC gedrückt wird
Do
Loop Until Inkey() = 27
 
'When you need to receive binary data and the bibary value 0 ,
'you can use the IScharwaiting() function.
'This will return 1 when there is a char waiting and 0 if there is no char waiting.
'You can get the char with inkey or waitkey then.
End

Languages   English Deutsch  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language