-
        

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

Thema: need help .. tut was es will !!

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    22.03.2004
    Ort
    Wien
    Alter
    38
    Beiträge
    31

    need help .. tut was es will !!

    Anzeige

    Hi !!

    Ich bin gerade dabei mein erstes projekt mit einem AVR controler zu verwirklichen, und hab zu dem zweck in Bascom mein programm geschrieben ...


    Es handelt sich um eine fersteuerung mittels modifiziertem pc joystick, und um quasi eine kalibrierung zu verwirklichen hab ich mal folgendes kleines programm geschrieben:


    $regfile = "m8def.dat"
    $crystal = 11059200
    $baud = 9600

    Dim Adcx As Integer
    Dim Adcy As Integer
    Dim Wertx As Integer
    Dim Werty As Integer

    Config Adc = Single , Prescaler = Auto
    Start Adc

    Do

    Waitms 100

    Printbin 27 ; 91 ; 50 ; 74

    Adcx = Getadc(0)
    Adcy = Getadc(1)

    Adcx = Adcx / 4
    Adcx = Adcx - 127
    Adcy = Adcy / 4
    Adcy = Adcy - 127

    Select Case Adcx
    Case Is > 15 : Wertx = Adcx - 15
    Case Is < -5 : Wertx = Adcx + 5
    Case Else : Wertx = 0
    End Select

    Select Case Adcy
    Case Is > 17 : Werty = Adcy - 17
    Case Is < -5 : Werty = Adcy + 5
    Case Else : Werty = 0
    End Select

    If Wertx > 100 Then Wertx = 100
    If Wertx < -100 Then Wertx = -100

    If Werty > 100 Then Werty = 100
    If Werty < -100 Then Werty = -100

    Print "Y-Achse" ; Werty
    Print "X-Achse" ; Wertx

    Loop


    End

    im simulator funktioniert es einwandfrei, und ich weiß auch sonst keinen grund warum es in der hardware nicht klappen sollte, aber (sont würd ich ja nicht um hilfe bitten *ggg*) sobald ich die If bedinnungen bezüglich -100 am ende des programms einbaue spinnt die software ohne ende ... und zwar funktioniert dann die ausgabe am terminal nicht mehr richtig .. je nach dem ob man die print befehle wonaders hinsetzt, oder die if bedinnungen kommt unterschiedlicher schwachsinn daher ! .. ohne die besagten if bedinnungen klappt es wunderbar !

    habe bis jetzt immer mit CC1m oder CC2 gearbeitet .. mit großem erfolg .. hat immer prima geklappt !!

    vielen dank im vorraus für die hilfe .. also ist das nicht mein erster kontakt mit µc's und elektronik !

    mfg Julian

    ps. Proggen tu ich mit ponny prog, und ich hab auch schon die neueste Bascom demo aus dem web

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    22.03.2004
    Ort
    Wien
    Alter
    38
    Beiträge
    31
    Hi nochmal

    ... hab jetzt eine ältere version von Bascom installiert ... da funkt der code von vorher ... guter dinge hab ich weitergeschrieben ...

    wie vorher +var definition für kettel und ketter

    If Wertx > 100 Then Wertx = 100
    If Wertx < -100 Then Wertx = -100

    If Werty > 100 Then Werty = 100
    If Werty < -100 Then Werty = -100
    '-----------------------------------------------------------neu:
    Kettel = Werty - Wertx
    Ketter = Werty + Wertx

    If Kettel > 100 Then Kettel = 100
    If Ketter > 100 Then Ketter = 100

    If Kettel < -100 Then Kettel = -100
    If Ketter < -100 Then Ketter = -100



    Print "Y-Achse: " ; Werty
    Print "X-Achse: " ; Wertx
    Print "--------------"
    Print "L: " ; Kettel ; " R: " ; Ketter

    Loop

    End


    und der gleiche #+*§"$§$% wie vorher ... allerdings gibt mein AVR jetzt gar keine verwertbaren daten an den pc ab !! außer ich entferne die if bedinnungen für kettel/r < -100 .. dass komt mir so irgendwie bekannt vor !!

    is Bascom so labil ???? was soll der blödsinn ... wie soll man da jemals ein programm schreiben das länger als 10 zeilen is ??

    ps .. sorry das ich den code immer so lange einfüge, aber ich check irgendwie nicht wie ihr das scroll fenster hinbekommt !!

    mfg Julian

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Hast du die Fusebits auf einen externen Quarz eingestellt?

    Also mehr als ein paar Zeilenhabe ich schon erfolgreich geschrieben

    Das Scrollfenster kannst du mit Code einfügen. Einfach den Button klicken, den Text danach schreiben und nochmal den Button klicken um Code anzuschliessen.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Zitat Zitat von Julian
    ps .. sorry das ich den code immer so lange einfüge, aber ich check irgendwie nicht wie ihr das scroll fenster hinbekommt !!
    das geht mit [code]bla bla bla[/code]
    So viele Treppen und so wenig Zeit!

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.10.2004
    Ort
    PB
    Beiträge
    123
    Hallo Julian!

    Jede If-Schleife muss mit "End If" beendet werden. Vielleicht liegt es daran. Also so:

    If [bedingung] Then
    [anweisung]
    End If

    Grüße,
    Jonas

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Er hat ja keine IF-Schleife.
    Das hätte Bascom ja schon bemängelt.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    22.03.2004
    Ort
    Wien
    Alter
    38
    Beiträge
    31
    Hi !!

    wenn die fuses nicht passen würden würde es ja gar nicht laufen ...

    was mir jetzt aufgefallen ist ist das die variablen wertx und werty schon falsch angegeben werden und zwar mit -100 egal welcher wert am adc anliegt !

    und die ärgenzung der if schleifen durch end if hat nichts gebracht ... laut meinen Bascom büchern ist die ja auch nicht vorgeschrieben .. es sei denn man will mehr als eine instuktion an die if bedinnung knüpfen!

    mfg Julian

    ps. langsam aber sich geht mir Bascom schwer auf die nerfen !! >

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Im Simulator ging das obere Programm bei mir!
    Je nachdem wie ich den ADC eingestellt habe, hatte X oder Y ein Wert von -100 bis 100 (man könnte denken, das sollte so )

    Das schöne an Bascom ist ja, das es ein eine Menge arbeit abnimmt.
    Ich stelle nur ein, welchen IC ich verwende und was für eine Taktfreuqenz der hat.
    Alles zeitabhänige wird dann automatisch errechnet.
    z.B. die Pausen nach LCD-Befehlen. Vorteiler für ADC, ...
    Und RS232 ist auch eine Zeitabhänige Geschichte. Außerdem ist nicht jede Baudrate mit jeder Taktfrequenz möglich

    Wenn Bascom jetzt in den Glauben gelassen wird, der Chip läuft mit 11MHz aber in wirklichkeit läuft er mit 1MHz können die errechneten Zeiten schon Auswirkungen haben. Auch der automatisch gewählte Vorteiler für den ADC.

    Ich hab bloß noch mehrmaligen lesen noch nicht verstanden, ob das Programm im M8 läuft wenn auf die -100% verzichtet wird.
    Die einzige Funktionskontrolle ist ja hier RS232 (zeitabhänige Sache!)

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    22.03.2004
    Ort
    Wien
    Alter
    38
    Beiträge
    31
    na ja ich hab die 11,059 Mhz genommen weil 0% baud fehler ... und wenn ich auf die -100% geschichte verzichte klappte es ja !!

    und .. quarz rauslöten .. gar nix geht mehr .. also fuses 100000% ig richtig !

    ps .. hab jetzt mittlerweile den pc neu aufgesetzt ... man weiß ja nie .. *fg*

    pps. Welche Bascom versionen verwendet denn ihr ?? (bitte nur dann angeben wenn auch alles funktioniert !! )

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    22.03.2004
    Ort
    Wien
    Alter
    38
    Beiträge
    31

    es reicht blad !!

    jetzt funkt das vorherige .... aber wenn ich die ausgabe in

    Print 255
    Waitms 20
    Print Kettel
    Waitms 20
    Print Ketter

    änder so das der zweite µC das ganze auswerten kann bekomme ich im terminal fenster folgendes :

    ___________________________________

    ketterketter255

    kettel

    ketter

    ___________________________________

    wahhhhhhh was soll das nun wieder ? wenn ich den code ein wenig änder .. zb pausen erhöher/verkleiner .. dann geht es überhaupt nicht mehr !!

    kann es sein das der chip was hat ? oder ist Bascom einfach der schlechteste compiller seit menschengedenken ???????????????

    ps. hab jetzt auch schon den quarz auf 8 mhz getauscht und ja hab es auch der software gesagt !

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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