- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 9 von 9

Thema: Error:256 Line (XYZ) Single expected ?!?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.07.2012
    Beiträge
    19
    ... jo ... erstmal Dank für Eure Hinweise. Ich habe es jetzt "irgendwie" gelöst bekommen, schaut aber ganz schön gruselig aus ^^
    Sinn der Sache:
    Über einen Shunt von 0,47Ohm gegen Masse wird die Stromaufnahme eines Motors gemessen. Der Spannungsabfall wird via 3k3 an den Pin und mit 100n Pin gegen Masse gegen all zu schnelle Spitzen geblockt.
    Als Konstante gebe ich den Maximalwert in mA vor.
    Abgefragt wird via Timer0 etwa alle 100ms in der dazu gehörenden ISR. Wenn der Strom (resp. die Spannung an Pin5) den vorgegebenen Wert übersteigt, wird eine BitVar (Iover) gesetzt und der EN des Motorcontrollers abgeschaltet. So lange das Bit gesetzt ist, wird eine ByteVar bei jedem Aufruf der ISR um eins hochgezählt und bei 100 das Flag wieder gelöscht.

    Eigentlich wäre es schöner, wenn man irgendwie dafür sorgen könnte, das bei Erreichen/Überschreiten eines Vorgabewertes der DAC selbst einen IRQ auslöst ohne das man aktiv in Intervallen den DAC abfragen muß. Aber dazu habe ich in Bascom keine Möglichkeit finden können.

    Ok, wie gesagt tut es nun (VarTypen angepasst), aber natürlich hätte ich nichts dagegen, wenn von Euch noch ein paar andere Lösungen kommen, damit ich vielleicht eine andere Denkweise bei solchen Sachen erlernen kann...


    DlzG
    Micha

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Micha,

    Zitat Zitat von M_I_B Beitrag anzeigen
    Ok, wie gesagt tut es nun (VarTypen angepasst), aber natürlich hätte ich nichts dagegen, wenn von Euch noch ein paar andere Lösungen kommen, damit ich vielleicht eine andere Denkweise bei solchen Sachen erlernen kann...
    Prozessoren ohne FPU müssen Fliesskommaberechnung über eine Bibliothek erledigen. Diese braucht einiges an Platz im ROM und ist etwa 100x langsamer als eine FPU.

    Es macht also in vielen Fällen Sinn, Fliesskommaoperationen zu vermeiden.

    Es kann also Sinn machen, wenn du alles in mV und mA rechnest, dann kommst du mit Integern durch.

    Und anstatt
    x *0.47
    zu rechnen, was eben nur mit Fliesskomma geht, kann man auch
    (x * 100) / 47
    rechnen, was mit Integern geht (Allerdings muss man aufpassen, dass (x *100) in jedem Fall noch in den gewählten Integer passt. Obwohl du eine Multiplikation und eine Division machen musst, ist das oft als Integerrechnung schneller als eine einzelne Fliesskomma-Multiplikation.

    Bei der Ausgabe muss man dann den Dezimalpunkt an der richtigen Stelle einsetzen, aber das geht rein über Textmanipulation.

    Ich kann mich nicht erinnern, dass ich in den letzten 30 Jahren auf einem Microcontroller einmal Fliesskommaoperationen gebraucht habe. Selbst bei der Linearisierung eines NTC lässt sich so umformen, dass man mit Integern zurecht kommt. Im professionellen Bereich bedeuten mehr ROM und mehr Rechenleistung immer auch höhere Kosten, welche man dann mit den Stückzahlen multiplizieren muss.
    Wie schon gesagt, ich habe da dann auch mal mit 1/40tel Grad gerechnet (wegen den Rundungsfehlern, gefordert waren nur 1/10 Grad).

    MfG Peter(TOO)

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von M_I_B Beitrag anzeigen
    Eigentlich wäre es schöner, wenn man irgendwie dafür sorgen könnte, das bei Erreichen/Überschreiten eines Vorgabewertes der DAC selbst einen IRQ auslöst ohne das man aktiv in Intervallen den DAC abfragen muß. Aber dazu habe ich in Bascom keine Möglichkeit finden können.
    Hallo Micha,
    du meinst sicherlich den ADC, nicht den DAC. Das geht in Bascom schon.
    Schau dir mal den Analog Comparator an, den du in Bascom über Config ACI konfigurieren kannst.

Ähnliche Themen

  1. Error [1253] constant operand expected
    Von BioSniper im Forum PIC Controller
    Antworten: 3
    Letzter Beitrag: 13.06.2010, 18:42
  2. Error 35: 3 parameters expected
    Von Ramer im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 28.02.2010, 20:05
  3. Error : 202 Line:............
    Von run_avr im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 20.06.2008, 21:11
  4. Error : 35 - 3 parameters expected
    Von Powell im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 29.06.2007, 11:54
  5. gcc plug-in: Error: Object file not found on expected ...
    Von jmayer im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 02.11.2006, 13:01

Berechtigungen

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

LiFePO4 Speicher Test