Ist das nicht eher ein Merkmal der Entwicklungsumgebung?
mfG
Markus
Zum Thema Tabelle:
Manche C Compiler haben sog. Code Templates, die man auch selber erweitern kann.
Man macht dann einen klick darauf und fügt das Code Schnipsel in den eigenen Quellcode ein.
Also es gibt noch so was!
Ich mach das z.B. gerne mit switch / case Anweisungen, weil es da doch so einiges zu tippen gibt.
Ist das nicht eher ein Merkmal der Entwicklungsumgebung?
mfG
Markus
Na ja, bei einem Basic mit Interpreter mag das stimmen, Bascom arbeitet aber mit einem Compiler und der generiert wie auch C letztendlich auch nur Maschinencode. wie effizient der Code wird liegt dann eher am Compiler selber als an der Hochsprache an sich. Ich habe allerdings noch keine Vergleiche einzelner Befele compiliert und die Zeit b.z.w. den Code (Länge/Laufzeit) verglichen....
Gruß Richard
Wenn sich seit dem Zeitpunkt, an dem ich mich das letzte Mal damit auseinandergesetzt habe, noch nichts geändert hat, ist der Compiler von Bascom immer noch ... beschränkt. Damals (tm) hat Bascom Register direkt nach jeder Operation freigeräumt und die Ergebnisse wieder ins SRAM gespeichert, was die 32 verfügbaren Register doch etwas ad-absurdum führt und einiges an Leistung kostet.
mfG
Markus
Vorsicht: lcd.h ist nicht die Library, sondern die Include-Datei zur Library, in der die Funtionen deklariert und Konstanten definiert werden. Die Library ist sowas wie liblcd.a, in der die einzelnen Funktionen als Objektcode versammelt sind und vom Linker (bei Bedarf) an die ausführbare Datei angebunden werden.
@frankensteins-freund: Lass Dich von den Begriffen erstmal nicht verwirren - das verständnis kommt nach einer Weil fast von alleine
viele Grüße
Andreas
#define true ('/'/'/')
#define false ('-'-'-')
Hey, so ich lasse mal wieder was von mir hören. ich habe mir mit der zeit einen eigenen kleinen ordner angelegt, in den ich funktionierende Programme eingetragen habe und die bedeutung jedes satzes hinzugefügt habe. Somit kann ich jetzt selbstständig kleinere if-else funktionen etc zusammenbauen.
Wie muss ich eine library dann verstehen? kann man das mit einem PC vergleichen? Die library ist somit das windows, das die sprache und funtionen vorgibt und der programmtext das, wie die software, die auf windows basierend dann verschiedene schritte und befehle ausführt?
Ich hab da dann noch eine frage: ich werde mir eine kleine steuerung mit 4 ausgängen bauen. allerdings brauche ich dazu die funktion, dass nach dem wiedereinschalten die ausgänge so geschaltet sind wie vor dem ausschalten. gibt es da eine speicherfunktion, die die aktiven pins immer wieder zwichenspeichert und sie beim wiedereinschalten aufruft?
MfG
Michael
Meine eigene cnc-Fräse:
mihuno.oyla3.de
Eine Möglichkeit des Speicherns ist das interne EEPROM des Controllers.
Ich würde da ein Relais in die Versorgungsspannung des Controllers einbauen, und das Ausschalten über einen Taster machen der am Controller hängt.
Also Taste betätigen. Der Controller weiß, das Du abschalten willst und springt in eine Sicherungsroutine die die gewünschten Werte in das EEPROM schreibt. Erst dann wirft der Controller das Relais ab und macht die Schaltung stromlos.
Zum Einschalten muß natürlich dieser Relaiskontakt überbrückt werden, da sich sonst der Controller nie mehr einschalten lässt.
Das EEPROM kann nicht unendlich oft beschrieben werden. ATMEL gibt da Controllerabhängig zwischen 10000 und 1Mio Schreibzyklen an.
Wär also sinnvoll vorher nachzuschauen ob überhaupt was neues in das EEPROM geschrieben werden soll, bevor Du einen Schreibzyklus anstösst.
Lesen kannst Du aber meines Wissens beliebig oft.
Hey
Mhm den AVR "vorwarnen" is nich, oder nur bedingt. ich habe das darauf bezogen falls die stromversorgung durch steckerziehen ausfällt. oder man könnte den AVR mit einem großen kondensator noch 1-2s laufen lassen und ihn dann runterfahren. von dem her mit etwas "bastelaufwand" möglich. 10.000 zyklen sind etwas wenig. 100.000 würden reichen. wer garantiert mir da eine ziemlich genaue aussage?
MfG
Michael
Meine eigene cnc-Fräse:
mihuno.oyla3.de
Das Datenblatt ist dein Freund und Helfer. Typischerweise verspricht Atmel 10.000 Zyklen für den Flash (Programmspeicher) und 100.000 Zyklen beim EEPROM. Sauberer wäre aber die Lösung mit einem Pufferkondensator und Sicherung des Zustandes vor einer Abschaltung.
mfG
Markus
Hey,
Okay, dann werde ich das mit dem kondensator mal versuchen...
wie schreibe ich den zustand in c auf einen eprom?
Kann ich mir auch meine eigene library schreiben, falls ja, wie funkt das?
MfG
Michi
Meine eigene cnc-Fräse:
mihuno.oyla3.de
Lesezeichen