-
        

Ergebnis 1 bis 5 von 5

Thema: RFID Bausatz von Pollin

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.03.2006
    Beiträge
    35

    RFID Bausatz von Pollin

    Anzeige

    Hallo
    ich habe mir einen Bausatz für einen RFID leser gekauft. Er funktioníert auch wunderbar. Als ich jedoch das Basicprogramm auf meine bedürfnisse ändern wollte bekam ich von Bascom folgende Fehlermeldungen:
    "Unknown CONFIG parameter [HITAG]"
    "Unknown CONFIG parameter [DEMOD]"
    "Unknown CONFIG parameter [INT]"
    Hat jemand eine Ahnung was ich falsch mache?
    Ist vieleicht meine Bascom Version veraltet?
    Version 1.11.8.3 document build 7

    Code:
    '-------------------------------------------------------------------------------
    '  Beispielprogramm für den Pollin-Electronic RFID-Bausatz, ArtNr:810059
    '  Es dient zum Auslesen einer HITAG RFID-Karte mittels eines Atmel U2270B.
    '  Âusschnitte des Codes wurden von der Beispielsoftware für den Em4095 von
    '  www.mcselec.de übernommen und für den U2270B abgeändert
    '  Als Controller wird ein AT-Tiny 2313 verwendet.
    
    '  Sie handeln auf eigene Gefahr!
    '  Bei diesen Daten handelt es sich um Beispielanwendungen die nicht für den produktiven
    '  Einsatz geacht sind.
    '  Pollin Electronic gibt keine Garantien irgendeiner Art , weder ausdrücklich
    '  noch implizit , einschließlich unbegrenzt aller Garantien der Verwendbarkeit
    '  dieser Daten für einen bezeichneten oder nicht bezeichneten Zweck.
    '  Pollin Electronic ist nicht haftbar für jedwede Folgeschäden die aufgrund
    '  der Benutzung dieser Daten entstehen. Dies gilt auch dann, wenn
    '  Pollin Electronic von der Möglichkeit eines solchen Schadens unterrichtet worden ist.
    
    '                     Firma: Pollin-Electronic-GmbH
    
    '                     Autor: Christian Schmailzl
    
    '------------------------------------------------------------------------------------------------------------------
    
    
    $regfile = "2313def.dat"                ' Controller : Tiny 2313
    
    $baud = 9600                            ' Übertragungsrate der UART-Schnittstelle
    
    $crystal = 8000000                      ' Taktfrequenz des Controllers
    
    
    
       Dim Tags(5) As Byte                  '"Tags" als Array mit 5 Bytes definieren bytes
    
       Dim Zaehler As Byte                  '"Zähler" als Byte definieren
    
       Dim Wert As String * 5               '"Wert" als String mit 5 Hexwerten definieren
    
    
       Config Portb = Output                'Port B als Ausgang definieren
    
       Config Hitag = 64 , Type = Em4095 , Demod = Pind.3 , Int = @int1       'konfiguriert den Timer und die Variablen für HITAG
    
       Config Lcdpin = Pin , Rs = Portb.5 , E = Portb.4 , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3       'konfiguriert die LCD-Belegung
    
       Config Lcd = 16 * 2                  'konfiguriert die Displaygröße
    
       _cfe Alias Portd.2                   '_cfe wird dem Portd.2 zugewiesen
    
       Config _cfe = Output                 '_cfe wird als Ausgand definiert
    
       _cfe = 1                             '_cfe wird high
    
       Config Debounce = 30                 'Tastenentprellung = 30ms
    
       On Int1 Checkints Nosave             'Int1 wird als Eingang für HITAG verwendet
    
       Mcucr.isc10 = 1                      ' entspricht: config INT1 = changing ( der Befehl wird vom MC unterstützt,
    
       Mcucr.isc11 = 0                      ' beim 2313 aber nicht von Bascom)
    
       Enable Interrupts                    'Enable all interrupts
    
          Locate 1 , 1                      'Cursor am Display in Zeile 1, ganz links
    
          Lcd "RFID-Modul"                  ' Text schreiben
    
          Locate 2 , 1                      'Cursor am Display in Zeile 1, ganz links
    
          Lcd "with U2270B"                 ' Text schreiben
    
          Set Portb.6                       ' Led 1 einschalten
    
          Set Portb.7                       ' Led 2 einschalten
    
          Wait 2                            ' Warte 2 Sekunden
    
          Reset Portb.6                     'Led 1 ausschalten
    
          Reset Portb.7                     ' Led 2 ausschalten
    
    Main:                                   ' ab hier beginnt das Hauptprogramm
    
       Do                                   ' Do-Schleife
    
          Cls                               'Display löschen
    
          Lcd "Check..."                    ' Text schreiben
    
             If Readhitag(tags(1)) = 1 Then ' INT1 wird enabled
    
                   For Zaehler = 5 To 1 Step -1       ' For-Schleife beginnend von 5 nach 1; rückwärts zählend
    
                      Wert = Wert + Hex(tags(zaehler))       ' "Wert" = bestehender inhalt in der Variable + gerade gelesenen
                                                                ' Tag an Position vom Zähler
                   Next                     ' Ende For-Schleife
    
                Toggle Portb.6              ' Led 1 Zustand wechseln
    
                Gosub Senden                ' gehe zu Unterroutine
    
                Toggle Portb.6              ' Led 1 Zustand wechseln
    
             End If                         ' Ende der If-Abfrage
    
          Debounce Pind.4 , 1 , Taste1 , Sub       ' Taste 1 entprellen; wenn gerdückt, zur Unterroutine "Taste1" springen
    
          Debounce Pind.5 , 1 , Taste2 , Sub       ' Taste 2 entprellen; wenn gerdückt, zur Unterroutine "Taste2" springen
    
          Debounce Pind.6 , 1 , Taste3 , Sub       ' Taste 3 entprellen; wenn gerdückt, zur Unterroutine "Taste3" springen
    
          Waitms 100                        ' Warte 500 ms
    
       Loop                                 ' Sprunganweisung zum Anfang Do-Schleife
    
    Taste1:                                 ' Unterroutine "Taste1"
    
          Cls                               ' Lcd löschen
    
          Locate 1 , 1                      ' Cursor in Zeile 1, Position 1
    
          Lcd " T1 "                        ' Text schreiben
    
          Wait 1                            ' warte 1s
    
          Cls                               ' Lcd löschen
    
          Locate 1 , 1                      'Cursor in Zeile 1, Position 1
    
          Lcd " RFID "                      ' Text schreiben
    
             If _cfe = 1 Then               ' If-Abfrage
    
                Locate 2 , 1                ' Cursor in Zeile 2, Position 1
    
                Lcd "ausgeschaltet"         ' Text schreiben
    
                Print "ausgeschaltet"       ' Text über UART ausgeben
    
                _cfe = 0                    ' _cfe auf low setzen -> Treiberstufen des U2270b abschalten
    
                Bitwait Pind.4 , Reset      ' Warte bis Pind.4 = low
    
                Waitms 30                   ' Warte 30ms ( Entprellung)
    
                Bitwait Pind.4 , Set        'Warte bis Pind.4 = high
    
                Locate 2 , 1                ' Cursor in Zeile 2, Position 1
    
                Lcd "eingeschaltet"         ' Text schreiben
    
                Print "eingeschaltet"       ' Text über UART ausgeben
    
                _cfe = 1                    ' _cfe auf high setzen -> Treiberstufen des U2270b einschalten
    
                Wait 1                      ' Warte 1s
    
                Gosub Main                  ' Sprunganweisung zum Anfang der Hauptschleife
    
             End If                         ' Ende der If-Anweisung
    
       Return                               ' Sprunganweisung in die Hauptschleife
    
    Taste2:                                 ' Unterroutine "Taste2"
    
          Cls                               ' Display löschen
    
          Locate 1 , 1                      ' Cursor in Zeile 1, Position 1
    
          Lcd " T2 "                        ' Text schreiben
    
          Toggle Portb.6                    ' Led 1 Zustand wechseln
    
          Wert = "T2"                       ' Wert = "T2"
    
          Gosub Senden                      ' Sprungbefehl zur Unterroutine "Senden"
    
          Bitwait Pind.5 , Reset            ' Warte bis Pind.5 = low
    
       Return                               'Sprunganweisung in die Hauptschleife
    
    Taste3:                                 ' Unterroutine "Taste3"
    
          Cls                               'Display löschen
    
          Locate 1 , 1                      ' Cursor in Zeile 1, Position 1
    
          Lcd " T3 "                        ' Text schreiben
    
          Toggle Portb.7                    ' Led 2 Zustand wechseln
    
          Wert = "T3"                       ' Wert = "T3"
    
          Gosub Senden                      ' Sprungbefehl zur Unterroutine "Senden"
    
          Bitwait Pind.6 , Reset            ' Led 2 Zustand wechseln
    
       Return                               ' Sprunganweisung in die Hauptschleife
    
    Checkints:                              ' Unterroutine "Checkints:"
    
          Call _checkhitag                  ' Eine ausgelagerte Unterroutine aufrufen
    
       Return                               ' Sprunganweisung in die Hauptschleife
    
    
    Senden:                                 ' Unterroutine "Senden"
    
          Cls                               ' Display löschen
    
          Locate 1 , 1                      ' Cursor in Zeile 1, Position 1
    
          Lcd "send..."                     ' Text schreiben
    
          Locate 2 , 1                      ' Cursor in Zeile 2, Position1
    
          Lcd Wert                          ' Variable "Wert" schreiben
    
          Print Wert                        ' Variable "Wert" über UART ausgeben
    
          Wert = ""                         ' Inhalt von Variable "Wert" = ""
    
          'Waitms 500                                            ' warte 500ms
    
       Return                               'Sprunganweisung in die Hauptschleife
    Ich bin für jede Hilfe Dankbar

    Gruß
    Rolf

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    48
    Beiträge
    1.254
    Hallo rolfw20,

    Ist vieleicht meine Bascom Version veraltet?
    Version 1.11.8.3 document build 7
    das wird der Grund sein, aktuell ist meines Wissens Version 1.11.9.5

    Gruß, Michael

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    05.11.2006
    Ort
    Werne
    Alter
    29
    Beiträge
    18
    Die Library für den Chip ist erst seit Version 1.11.9.0 eingebunden. Brauchst also ne neuere Version.

    MfG Tretsch

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    14.03.2006
    Beiträge
    35
    Danke für die Antwort.

    Ich muß jetzt erst mal sehen wie das mit dem Update bei einer Vollversion läuft, bzw. was das Update kostet.

    Gruß
    Rolf

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    14.03.2006
    Beiträge
    35
    Hi Leute,

    nach einem Update funktionierte alles

    Übrigens das Update war kostenlos


Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •