Guten Morgen !
Ich benutze eine ATmega32 mit 16Mhz und hab Bascom 1.11.8.3.
Ich habe mich mal darin versucht eine Tastenabfrage zu erstellen
Hier mal mein Code dazu.
wenn einer einen Fehler sieht bitte nicht gleich los schimpfen bin noch in der lern Phase.
ich glaube da ist in der lib (glcdks108.lib) was nicht richtig. aber ist wie gesagt nur so ne Ahnung. Wie gesagt wenn ich versuche den Code zu Compeilieren dann kommt der oben beschriebene Fehler.
Code:
$regfile = "m32def.dat" ' specify the used micro
$crystal = 16000000 ' used crystal frequency
$lib "glcdks108.lib"
' printing will still work as only the receiver pin is disabled
Wait 2
Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Ce = 1 , Ce2 = 0 , Cd = 3 , Rd = 4 , Reset = 2 , Enable = 5
Config Adc = Single , Prescaler = Auto ,
Config Pina.0 = Input
'Const Ref = 5 / 1023
Declare Sub Taste1()
Declare Sub Taste2()
Declare Sub Taste3()
Declare Function Tastenabfrage() As Byte
Declare Sub Start1()
Start Adc
Dim Ws As Word
Dim Taste As Byte
Dim Adc1 As Word
Config Pinb.0 = Output
Beep Alias Pinb.0
Adc1 = Getadc(0)
Setfont Font8x8
Cls
Wait 1
Call Start1
Do
Taste = Tastenabfrage()
If Taste <> 0 Then
Select Case Taste
Case 1
Call Taste1
Case 2
Call Taste2
Case 3
Call Taste3
End Select
End If
Loop
End
Function Tastenabfrage() As Byte
Tastenabfrage = 0
Ws = Getadc(0)
If Ws < Adc1 Then
Select Case Ws
Case 210 To 250
Tastenabfrage = 1
Case 150 To 200
Tastenabfrage = 2
Case 50 To 100
Tastenabfrage = 3
End Select
End If
End Function
Sub Taste1()
Sound Beep , 600 , 200
Lcdat 1 , 1 , " Taste 1"
End Sub
Sub Taste2()
Sound Beep , 600 , 500
Lcdat 1 , 1 , " Taste2"
End Sub
Sub Taste3()
Sound Beep , 600 , 700
Lcdat 1 , 1 , "taste3"
End Sub
Sub Start1()
Lcdat 1 , 1 , "Bitte eine Taste"
Lcdat 1 , 1 , "drücken"
End Sub
'end program
$include "font8x8.font"
Lesezeichen