mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BASCOM Programm nach C übersetzen


Autor: Oktoberfestbesucher (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe dieses BASCOM-Programm aus einem Pollin Bausatz.
Muss ich es Zeile für Zeile in C übersetzen, oder gibt es Tools dafür?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist kein Tool dafür bekannt. Du müsstest sogar noch mehr machen: Du 
müsstest die Funktionen implementieren, die sich hinter bestimmten 
BASCOM Befehlen verstecken und in dieser Form nicht 1:1 in C bzw. in der 
C-Library vorhanden sind.

Autor: Kluchscheißernder Nixwisser (kluchscheisser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oktoberfestbesucher schrieb:
> Ich habe dieses BASCOM-Programm aus einem Pollin Bausatz.
> Muss ich es Zeile für Zeile in C übersetzen, oder gibt es Tools dafür?

Das beste ist, Du verstehst anhand des Basic-Quelltextes die 
Funktionsweise und Algorithmen des Programms und schreibst mit diesem 
Wissen das Programm in einer Sprache Deiner Wahl neu. Alles andere wird 
Schrott.

Autor: Oktoberfestbesucher (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe den Quelltext für diesen RFID-Leser von Pollin (810-059)
mal gestripped, d.h. hier unwichtige Sachen = Tastenabfrage und 
Auswertung rausgeschmissen.
Das BASCOM-Programm ist jetzt schön übersichtlich.
Anscheinend fehlt die _checkhitag -Routine?!

Habe in dem rausgeschmissenen Teil noch eventuel einen Bug gefunden:
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
Führt der Rücksprung mit "Gosub Main" auf Dauer zum Stacküberlauf?!

Autor: pegaso95 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin auch auf der Suche nach einem Beispiel in C-code für den U2270B.
Habe beim stöbern folgenden Beitrag gefunden:
Beitrag "Re: Pollin RFID Entwicklungsboard"
Mit dem RFID Reader von CONRAD hatte ich bereits erfolgreich eine 
Anwendung mit ATmega48 und ATtiny45 geschrieben. Leider gibt es das 
Modul mit dem IM283 chip nicht mehr (zumindest für 10€). Jetzt habe ich 
das Pollin RFID Board ausgegraben und versuche nochmal mit dem U2270B 
mein Glück. Bin natürlich für hilfreiche Hinweise oder Beispiele 
dankbar. Ebenso wenn es den IM283 (sourcing) betrifft.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du den gelinken Thread durchliest, dann siehst Du Beschwerden 
darüber, daß Pollin den Ansatz von Mark Alberts, MCS Electronics, der 
eine Lib für den EM4095 geschrieben (und auch ein eigenes Board 
angeboten) hat, quasi für seine Zwecke "missbraucht" hat. Das heist die 
MCS Lib wird für den U2270B benutzt.

Was mich annehmen lässt, daß beide kompatibel sind. Hier gibt's einen 
Artikel dazu, d.h. der 4095 Code sollte anpassbar sein:

http://www.mikrocontroller.net/articles/RFID_T%C3%BCrmodul

Bascom verwendet eine Lib, die em4095.lib, welche in der Vollversion 
enthalten ist. Die Lib selbst ist in Assembler geschrieben.

In der Demoversion von Bascom ist nur die em4095.lbx enthalten, eine 
gescrambelte Version der Lib. Bascom arbeitet auch mit dieser 
lbx-Version, das ermöglichte Pollin diesen Bausatz anzubieten, da er mit 
der Demoversion compilierbar ist.

Ich schreibe in Bascom, für mich ist's kein Anreiz etwas Anderes zu 
verwenden, hab' den Bausatz hier, der funktioniert auch mit dem 
richtigen Schwingkreiskondensator einigermaßen ordentlich. Holt 
allerdings nicht das Optimum an Reichweite aus dem U2270B raus, dafür 
müsste die Schaltung geändert werden, bessere Applikationen dazu im DB 
des 2270.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.