PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler in Bascom



pat2381
07.06.2007, 18:22
Hallo !

Ich bekommen seid heute immer drei Fehler nach dem compilieren

Error:215 Line 227 Unknown ASM mnemonic [#If_chip20 or_chip=21 or_chip=10

Error:202 Line:227 .EQU not found, probably using functions that are not supported by selected Chip [RAMPZ]

Error:215 Line 227 Unknown ASM mnemonic [#endif]

Was kann das sein? Der Code lief ja vorher ohne probleme.

Hat einer ne Idee?

linux_80
07.06.2007, 22:06
Hallo,

Du willst für einen Mega128 eine Funktion benutzen, die wohl nicht so ganz korrekt implementiert ist, evtl. wird das Register inzwischen anders genannt.

Kannst etwas mehr an Infos rausrücken, evtl. gibts gar schon 'ne Lösung dafür !
Was hast Du evtl. geändert, weshalb es nicht mehr gehen könnte, usw. ?

pat2381
08.06.2007, 10:10
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.




$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"

linux_80
08.06.2007, 19:06
:-k
ich kann das so in der 11.8.3 Demo compilieren.
Musste nur die glcdks108.lib nach glcdks108.lbx umbenennen, weil die .lib bei der Demo nicht dabei ist.
Was das Programm dann aber macht hab ich nicht getestet.

peterfido
08.06.2007, 22:18
Eine lbx ist eine Kompilierte lib. Das kannst du unter Tools Libmanager Kompilieren lassen.

linux_80
08.06.2007, 22:54
In der Demo sind die Libs nicht dabei, also kann man auch nix in eine LBX compilieren. Man muss direkt die LBX'en angeben.
Bei der Vollversion gibts beides.

1hdsquad
01.08.2007, 17:14
Ist das in irgendeiner Form ein Nachteil?

linux_80
01.08.2007, 22:54
Ein nicht vorhandener Vorteil muss ja nicht gleich ein Nachteil sein :-s

Wenn man die Libs hat (und sich auskennt) kann man sich darin austoben, bzw. was eigenes daraus bauen und anpassen und eine eigenen Lib davon bauen, usw.

In der Demo kann man auch selber Libs bauen, aber man hat halt nicht die originalen, falls man was ändern/verbessern will.

1hdsquad
01.08.2007, 22:57
Also kann ich bedenkenlos die lbx verwenden, dann muss ich mir (noch) nicht die Vollversion kaufen.

linux_80
01.08.2007, 23:08
Ja, natürlich, man muss halt immer .lbx angeben, und nicht .lib, falls man mal ein Programm irgendwo abschreibt, in dem das anders wäre.

1hdsquad
01.08.2007, 23:10
Okay, dankeschön! Man lernt nie aus... Aber wer würde schon abschreiben? ;-)