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


von Oktoberfestbesucher (Gast)


Angehängte Dateien:

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?

von Stefan B. (stefan) Benutzerseite


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.

von Kluchscheißernder N. (kluchscheisser)


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.

von Oktoberfestbesucher (Gast)


Angehängte Dateien:

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:
1
Taste1:                                             ' Unterroutine "Taste1"
2
      Cls                                           ' Lcd löschen
3
      Locate 1 , 1                                  ' Cursor in Zeile 1, Position 1
4
      Lcd " T1 "                                    ' Text schreiben
5
      Wait 1                                        ' warte 1s
6
      Cls                                           ' Lcd löschen
7
      Locate 1 , 1                                  ' Cursor in Zeile 1, Position 1
8
      Lcd " RFID "                                  ' Text schreiben
9
         If _cfe = 1 Then                           ' If-Abfrage
10
            Locate 2 , 1                            ' Cursor in Zeile 2, Position 1
11
            Lcd "ausgeschaltet"                     ' Text schreiben
12
            Print "ausgeschaltet"                   ' Text über UART ausgeben
13
            _cfe = 0                                ' _cfe auf low setzen -> Treiberstufen des U2270b abschalten
14
            Bitwait Pind.4 , Reset                  ' Warte bis Pind.4 = low
15
            Waitms 30                               ' Warte 30ms ( Entprellung)
16
            Bitwait Pind.4 , Set                    ' Warte bis Pind.4 = high
17
            Locate 2 , 1                            ' Cursor in Zeile 2, Position 1
18
            Lcd "eingeschaltet"                     ' Text schreiben
19
            Print "eingeschaltet"                   ' Text über UART ausgeben
20
            _cfe = 1                                ' _cfe auf high setzen -> Treiberstufen des U2270b einschalten
21
            Wait 1                                  ' Warte 1s
22
            Gosub Main                              ' Sprunganweisung zum Anfang der Hauptschleife
23
         End If                                     ' Ende der If-Anweisung
24
   Return                                           ' Sprunganweisung in die Hauptschleife
Führt der Rücksprung mit "Gosub Main" auf Dauer zum Stacküberlauf?!

von pegaso95 (Gast)


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.

von MWS (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.