-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Von Bascom in C/Ansi C

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    19.01.2006
    Ort
    Mettmann
    Alter
    29
    Beiträge
    9

    Von Bascom in C/Ansi C

    Anzeige

    Hallo,

    da ich nur c bzw ansis c kann und mit basecom oder anderen sprachen noch nicht klar komme, brauch ich eure hilfe...

    kann mir jemand das in C übersetzen??bitte ! !
    (zur auswertung einer gabellichtschranke von sharp)

    .... bei google gibts da leider noch kein sprachtool für

    ################################################## #####



    $regfile = "m32def.dat"
    ' bei Mega 16 $regfile = "m16def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32

    $crystal = 16000000 'Quarzfrequenz
    $baud = 9600



    Config Int0 = Falling

    Config Timer1 = Timer, Prescale = 256
    Const Timervorgabe = 3036
    Const Markierungenproscheibe = 120

    Dim Zaehlerirq0 As Long
    Dim Impulseprosekunde As Long
    Dim Impulseprominute As Long
    Dim Umdrehungenprominute As Integer

    Print
    Print "* RN-Control 1.4 *"
    Print "Drehzahl Messung"; ""



    Zaehlerirq0 = 0
    On Int0 Irq0
    Enable Int0

    On Timer1 Timer_irq
    Enable Timer1

    Enable Interrupts


    Do
    Print
    Print "Impulse Sek: "; Impulseprosekunde
    Impulseprominute = Impulseprosekunde * 60
    Umdrehungenprominute = Impulseprominute / Markierungenproscheibe
    Print "Umdreh. Min: "; Umdrehungenprominute
    Wait 3
    Loop

    End




    'Pro Impuls (Markierung auf Scheibe) ein Aufruf
    Irq0:
    Incr Zaehlerirq0
    Return


    'Pro Sekunde ein Aufruf
    Timer_irq:
    Timer1 = Timervorgabe
    Impulseprosekunde = Zaehlerirq0
    Zaehlerirq0 = 0
    Return

    ######################################


    mit freundlichen grüßen

    stefan

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.01.2006
    Ort
    Mönchengladbach
    Beiträge
    544
    Hallo balrog,
    wo ist genau das Problem?!? Wenn du deinen Controller in C Programmieren kannst, dann kannst du das Basic Programm doch auch in C Umwandeln. Ich sehe nichts, was man als C-Programmierer nicht verstehen kann. Du musst natürlich wissen, wie man IRQs in C nutzt und die Hardware einstellt. Davon hab ich aber leider keine Ahnung, da ich bsi jetzt nur in Assembler progge.

    Gruß,
    SIGINT

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Ein kleiner Ansatz,

    Der Geber hängt auf einem Externen Interrupt.
    Wenn der auslöst wird eine Variable Zaehlerirq0 um eins erhöht.

    Timer 1 wird so konfiguriert, daß er jede Sekunde einen Interrupt auslöst.
    Hier wird die Zaehlerirq0 ausgelesen und auf Null gesetzt.

    In der Hauptschleife würd ich dann die Berechnungen machen und ausgeben,
    ist das jetzt schwer ?

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Zitat Zitat von izaseba
    ist das jetzt schwer ?
    Sicher ist das nicht schwer, wenn man sein Hirn mal einschaltet.
    Aber, ich denke mal das is der Typ User, der ne "Komplettlösung" haben will ...

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    19.01.2006
    Ort
    Mettmann
    Alter
    29
    Beiträge
    9
    tut mir leid aber ich kann mit dem basecomzeugs echt ncihts anfangen.. leider

    hoffe es wäre irgendeiner so freundlich und kann mir das in c übersetzen oder hat es schon aufm pc und kann es mir schicken..

    mit freundlichen grüßen

    stefan

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    tut mir leid aber ich kann mit dem basecomzeugs echt ncihts anfangen
    Naja, ich halte davon auch nichts, aber lesen kann ich es schon
    Klar könnte ich das direkt in C schreiben, aber Du sagst
    da ich nur c bzw ansis c kann
    sollte es ja kein Problem sein .
    Ich hab Dir auch das Programm übersetzt, der Rest ist Deine Sache ...

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    19.01.2006
    Ort
    Mettmann
    Alter
    29
    Beiträge
    9
    man ihr seid echt witzig...
    ich hab bisher c++ immer nur so verwendet um programme zu schreiben für den pc. NICHT mikrocontroller, hab mir nur in letzter zeit ein bisschen ansis c angeschaut,weil ich es ja brauch um einen mikrocontroller zu steuern.. aber ich versteh jetzt von dem basecomzeug einfach 0 ! ! deshalb fällt es mir auch total schwer das in c zu übersetzen weil ich garnicht weiß was da zeile für zeile in basecom steht... also kann ich es auch schlecht übersetzen

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Zitat Zitat von izaseba
    Der Geber hängt auf einem Externen Interrupt.
    Wenn der auslöst wird eine Variable Zaehlerirq0 um eins erhöht.

    Timer 1 wird so konfiguriert, daß er jede Sekunde einen Interrupt auslöst.
    Hier wird die Zaehlerirq0 ausgelesen und auf Null gesetzt.

    In der Hauptschleife würd ich dann die Berechnungen machen und ausgeben,
    Reicht dir der Ansatz nicht mit dem Datenblatt und der Compilerdokumentation ?

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.03.2006
    Beiträge
    138
    Less doch mal den Text in dem Pdf wo des her hast und auserdemdu musst doch nur Timer1 nehmen in ner subroutine "zählen" umrechnen und z.B. auf einem lcd ablesen.(sehe dir mal das datenblatt)

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    19.01.2006
    Ort
    Mettmann
    Alter
    29
    Beiträge
    9
    naja ... ich werds versuchen...

    aber falls jemand das programm in c hat, bitte bitte schickt es mir ! danke !

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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