mikrocontroller.net

Forum: Compiler & IDEs Portb ansprechen


Autor: Markus Muelln (seeadler78)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich fange gerade an mich mit dem AVR studio zu befassen.
ich habe jetzt eine Schaltung für den Microcontroller und die serielle
programmierplatine.ich möchte nun mit dem microcontroller eine pumpe
steuern und das mit c programmieren.diese pumpe soll 5 minuten laufen
und dann 15 minuten ruhig sein.und das endlos.ich wollte das mit einer
while schleife machen weiss jetzt aber nicht wie ich die aüsgänge auf 5
Volt oder 0 Volt bekomme.wenn ich einfach Portb=... schreibe, bekomme
ich die fehlermeldung nicht declariert.wenn ich es declariere wird das
dann nicht nur als einfache variable angenommen,oder wie ist das.Ich
danke schon mal für die hilfe.
bis dann seeadler78

MC:attiny2313

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du die entsprechende Header-Datei nicht einbindest bzw. die
Einstellungen unter 'Project | Configuration Options' nicht gemacht
hast, kennt der Compiler PORTB natürlich nicht.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...Ach, und Du solltest Dich wirklich mal mit dem AVR-GCC-Tutorial auf
dieser Seite befassen. Da steht auch drin, 'wie man einen Ausgang auf
5V oder 0V bekommt...' und was man dabei beachten muss (v.a. erstmal
als Ausgang definieren...)

Autor: Markus Muelln (seeadler78)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
danke für die Antwort.habe bei Project Configuration Options den
attiny2313 angegeben.muss ich da sonst noch was machen.wie finde ich
denn die passende header datei und wie muss ich die einbinden.
bis dann seeadler78

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe oben... Versuchs mal mit '#include<avr/io.h>'. Wenn die
Einstellungen ansonsten stimmen, sollte er dann zumindest die Register
kennen...

Autor: Markus Muelln (seeadler78)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
danke für die hilfe, die ports kennt er jetzt schon mal.das andere sind
wohl syntax fehler.mal schauen.
bis dann seeadler78

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In so einem Fall ist es immer am besten, den Code zu posten (und zwar
als Anhang). Dann kann man sofort sehen, wo's hakt.

Autor: Markus Muelln (seeadler78)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo´
ich probiere im moment erst ma so ein bisschen rum, um mal zu sehen wie
das ganze funktioniert.werde auch mal das gcc turtorial lesen.wenns dann
noch hakt melde ich wieder.aber danke für deine schnelle hilfe.
bis dann seeadler78

Autor: Markus Muelln (seeadler78)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich bins nochmal.ich wollte jetzt mal ausprobieren die pins auf ein
nullpotenzial zu bringen.ich habe die testschaltung aus dem internet
mit dem blinklicht.dies ist an dem PBO angeschlossen.um es dauerhaft
leuchten zu lassen habe ich folgendes geschrieben.

#include <stdio.h>
#include<avr/io.h>

int main (void)
{

PORTB=0b00000000;
DDRB=0b11111111;
}

trotzdem bleibt die led aus.waran kann es liegen.
danke
seeadler78

Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, sieht aus als ob du vielleicht die LED gegen Masse geschaltet hast.

Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
versuch mal
DDRB=0xff
PORTB=0xf0
dann duerfte die haelfte der leds leuchten

Autor: Markus Muelln (seeadler78)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
was heisst jetzt gegen masse.an dem PB0 müssten doch so jetzt 0 volt
liegen oder sehe ich das falsch.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>die testschaltung aus dem internet mit dem blinklicht...

Aha, DIE Testschaltung also...

>was heisst jetzt gegen masse

Du kannst ne LED an nem µC-Pin (zumindest bei den AVRs geht das wegen
der symmetrischen Ausgangstreiber) auf zwei Arten anschließen, nämlich
gegen VCC oder gegen GND. Wenn Du sie gegen VCC anschließt, musst Du
den Pin '0' setzen, um die LED zum Leuchten zu bringen, wenn Du sie
gegen Masse schaltest, dann auf '1'.

Autor: Markus Muelln (seeadler78)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
hatte irgenwas in ponyprog falsch eingestellt was vorher aber
funktionierte.komisch.naja jetzt leuchtet die led und ich mach jetzt
feierabend.bis dann seeadler 78

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.