mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Port setzen mit PORTB.1 oder ähnlichem möglich ?


Autor: popi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: popi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!

Dachte, es gibt möglicherweise noch elegantere Befehle.

Gruß

popi

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht solltest du mal einen Blick ins Tutorial werfen...
Du kannst dir auch Makros basteln...

Autor: popi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... 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

Autor: Marc Meise (bytewood) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: popi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Marc Meise (bytewood) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Popi,
beschreibe doch mal was es werden soll
Gruß
Marc

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: popi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.