Hallo, kann man mit C und bei einem AVR einen Port direkt setzen, also PORTB1 = 1; oder geht das immer nur über PORTB = 0x01; ??? Gruß popi
in Codevision oder Bascom geht es. Sonst gibt es auch so schöne Konstrukte wie PORTB |= (1<<0); zum Setzen und PORTB &= ~(1<<0); zum Löschen eines Bits.
Danke! Dachte, es gibt möglicherweise noch elegantere Befehle. Gruß popi
vielleicht solltest du mal einen Blick ins Tutorial werfen... Du kannst dir auch Makros basteln...
... aber ich bin schon froh, wenn ich meine 3 Ports nacheinander ansprechen kann, was ich schon seit über eine Stunde versuche. An Makros denke ich erst gar nicht... ;o) Danke und Grüße popi
Hi Popi, wenn Du gerade mit Mikrocontrollern anfängst, dann kann ich Dir empfehlen mit Bascom anzufangen (http://www.mcselec.com/). Es ist zwar nicht kostenfrei, aber die Demo kann bis 4kB Code erzeugen und ist nicht laufzeitbeschränkt. Bascom (=BASIC) deshalb, weil man wenig Zeit zur Einarbeitung benötigt und schnell zu Erfolgserlebnissen kommt. BASIC ist ja schliesslich eine recht leicht zu erlernende Sprache, wenn Du sie nicht sogar schon kannst. BASCOM/BASIC nimmt Dir schon viel Arbeit ab (keine Header oder Libs; LCD-Unterstützung, I²C und noch viel mehr). Du wirst aber nicht drumherum kommen C zu lernen, denn das ist der wirkliche Standard. Um also AVRs erstmal kennenzulernen versuch's mit BASCOM. Wenn Du Dich ein bischen auskennst, dann nimm C. An alle Anderen: Das spiegelt nur meine Meinung wider, und soll hier nicht als Anlass zu einer wilden Diskussion werden. Grüße
Hallo Marc, habe mit BASCOM schon programmiert. Du habt recht, es ist wirklich einfach. Aber ich habe eine Fahrradlampe programmiert, also mit einem Knopfdruck konnte mann zwischen an, blinken, lauflicht, blitz, etc. umschalten. Es war echt simpel. Das Problem liegt darin, das ich ein Schulprojekt machen will, indem BASCOM und dessen Möglichkeiten nicht mehr ausreicht. Ich denke von der Laufzeit und von compilierten Codeaufwand. Außerdem, auch wenn der Weg steinig und steil ist, will ich schon was richtiges lernen, also ASM ider C ;o) Liebe Grüße popi
Hi Popi, beschreibe doch mal was es werden soll Gruß Marc
Ich kann nicht anders als mal wieder auf FastAVR hinzuweisen. Zwar auch BASIC aber man erhält den ASM-Code ausgegeben und zwar so,dass man nachvollziehen kann was der BASIC-Compiler gemacht hat. Auf die Art kann man bequem mit BASIC anfangen zu programmieren und nebenbei noch den Einstieg in den Assembler finden. Irgendwann findet man es dann bequemer gleich in Assembler zu schreiben und der Umstieg ist ganz leicht. bye Frank
Also, ich habe eine Software geschrieben (in Delphi). In dieser Software kann man bestimmte Sachen einstellen (einen zeitplan, wonach Bestimmte Ereignisse an bestimmten Zeitpunkten passieren). Dann gibt es einen Button, mit dem man diese Parameter zu dem Controller schicken kann. Der Controller empfängt das Datenwort, speichert im im EEPROM ab und liest dann Adresse für Adresse den Speicher aus. In jeder Speicherzelle werden die ersten 8 Bit ausgewertet. Je nachdem wie diese stehen, werden bestimmte Ereignisse von dem Controller ausgeführt. (z.B grob gesagt: ein thermistor misst die außentemperatur und bei einer änderung um 2-3 Grad, je nach einstellung in der Software) schaltet der Controller etwas) Lass mich bitte nicht mehr erklären, es wird sonst kompliziert ;o)) Überlese die rechtschreibfehler, ich lese den Text nicht nochmal durch oder korregiere ihn ;o) Liebe Grüße popi
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.