Hallo zusammen,
ich mache zur Zeit eine Technikerausbildung per Abendschule und bin
gerade mitten in der Projektarbeit (viele von Euch werden den Stress
kennen)
Wir wollen für das Projekt eine Steuerung für eine Photovoltaik-Anlage
entwickeln, bei der sich die Anlage automatisch der Sonne nach
ausrichtet. Soweit klappt mittlerweile das meiste, allerdings komme ich
nun an einen Punkt bei dem ich den Wald vor lauter Bäumen nicht sehe.
Ich bin für die Programmierung von zwei Mikrocontrollern zuständig,
beide befinden sich in unterschiedlichen Platinen, welche Zustände
miteinander austauschen sollen. Nun zu meinen Problemen:
1. Meine Steuerplatine soll die Analogwerte von zwei IR Sensoren
erfassen, dann bestimmen welcher den höheren Wert hat und demnach die
Anlage drehen. Die IR Sensoren werden durch eine
Stromverstärkerschaltung verstärkt und der MC(ATmega16) misst den
Ausgang der OPs.
Mit einem Jtag MK2 Nachbau der Firma sure-electronics kann ich sehen das
Werte erfasst werden, komischerweise macht der MC bei Werten unter 200mV
nichts (obwohl ich die Werte im Ruhezustand jtaggen kann)
Versuche ich die Werte, nach einer Berechnung, mit Pointer zu übergeben
(wie im Anhang) passiert auch mit höheren Werten nichts oder nur ruckeln
der Motoren als ob das Programm die Schleife einfach unterbrechen würde.
2. Beim I2C Bus bekomme ich zwar von der Masterplatine die Meldung, dass
der Bus i.O. ist, ich kann jedoch weder ein Signal mit einem
Signalanalyser messen noch bekomme ich die richtigen Werte von der
Slaveplatine übermittelt. Mir kommt es manchmal sogar so vor, als ob der
Bus eine Art Kurzschluss bilden würde (Pullups 4,7k).
Ich bin, was die C Programmierung angeht noch ein ziehmlicher Neuling,
was die Mikrocontrollerprogrammierung angeht erst Recht. Ich habe jedoch
in den letzten Monaten viele Bücher und Datenblätter gewälzt und denke,
dass ich das meiste schon Recht gut verstanden habe. Ich wäre sehr
dankbar wenn mir einer einen Tip geben könnte oder wenigstens mal über
das Programm drüber schaut und mir sagen kann "Ne, das kannst du so
nicht machen, mache das lieber..."
Eine weitere Sache die mich wundert, ist das ich viele Variablen als
volaitile definieren muss, da sie mir ansonsten keinen Wert anzeigen.
Ich habe für die Optimierung nur -Os (optimize for size) ausgewählt ist
das vielleicht schon falsch?
Legt nicht viel Wert auf die Kommentare, bei manchen muss ich die
Berechnungen neu machen, da wir in letzter Zeit viel getestet und somit
geändert haben.
Ich bekomme übrigens keine Fehler und nur die Warnung:
Das Ziel "PostBuildEvent" wurde übersprungen, da die Bedingung "false"
war . ('$(PostBuildEvent)' != '') wurde als ('' != '') ausgewertet.
Vielen Dank im voraus
Kann mir hier wirklich keiner einen Tip geben oder wenigstens mal über den Code drüberfliegen? Ich wäre für jede Hilfe dankbar, da die Zeit langsam knapp wird.
Hallo Bernd,
hast du schon eine Lösung für dein Problem:
Das Ziel "PostBuildEvent" wurde übersprungen, da die Bedingung "false"
war . ('$(PostBuildEvent)' != '') wurde als ('' != '') ausgewertet
gefunden?
Ich habe gerade das gleiche Problem und finde auch keine Lösung
Hallo Lena, ich habe zwar noch keine Lösung dafür gefunden, denke jedoch, dass es nicht so wichtig ist. Ich denke, dass er einfach nur einige Dateien nicht abgelegen kann. Hast du denn das Problem, dass kein Hex-File erzeugt wird ? Das kannst du nämlich unter den Properties einstellen. Grüße Bernd
Hallo Bernd, danke für deine schnelle Antwort. Ja, ich habe das Problem, dass kein .hex-File erzeugt wird. Ich verwende allerdings ein externen Makefile und dann ist die Einstellung bei den Properties nicht verfügbar. Gruß Lena
Hallo Lena, ich habe es gerade bei mir getestet, die Einstellungen werden tatsächlich ausgeblendet. Mit einem externe Makefile habe ich keine Erfahrungen, sorry. Wofür brauchst du den überhaupt ein externes Makefile? Wird dein Programmer nicht unterstützt oder dein Jtagger? Wie gesagt ist vielleicht nur eine dumme Frage aber ich zähle mich auch eher als Neuling auf dem Gebiet.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.