Frage zu Pins UNO<->328P

  • Hallo Zusammen.


    Ich bin etwas Durcheinander.


    Seit einiger Zeit beschäftige ich mich nun mit einem Uno Board. Klappt auch alles prima.
    Jetzt hab ich ein kleines Projekt nachgebaut wo ein 328P direkt in der Schaltung sitzt.
    Nun bin ich ein wenig durcheinander.


    Wenn ich das von der Arduino IDE erzeugte HEX file via ISP in den 328p lade.
    Wie ist das mit der Bezeichnung der Pins ?


    In der Arduino IDE ist z.B. folgendes für eine LED einzuschalten:

    Code
    pinMode(A0, OUTPUT);
    digitalWrite(A0, HIGH);


    Setzt den Ananolgen Input 0 auf Dig Output und schaltet ihn auf High


    Der Uno Pin A0 sollte nach dem Pinmapping hier am 328p PIN23 (PC0) sein. Dort würde jetzt die LED angeschlossen.


    Nun verwirrt mich diese PIN Bezeichnung.
    Übersetzt die IDE das oder muß ich die Pin Nummern im Sketch anpassen wenn ich den Sketch direkt via ISP in einen 328P lade (ohne den Bootloader) anstatt in den Uno?


    Oder anders rum, wenn ich in der Arduino IDE ein Programm für einen 328P in einer Schaltung schreibe und dort am 328P am Pin 23 eine LED habe, muss ich A0 als PIN Nummer nutzen ?


    Helft mir mal bei dem Entwirren meines Schädels.
    Jedes mal wenn ich darüber Nachdenke komme ich zu einem anderen Schluß. *pff*

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Edited once, last by Der_Imperator ().

  • in der Arduino IDE nimmst du die Arduino Bezeichnungen A0 , im AVR Studio halt den Port C und PIN 0 (das kannst du auch im Arduino Port und Pin nehmen)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallo Der_Imperator,


    schön, Dich mal wieder hier zu sehen ;) .


    Nach meinem Verständnis ist es so:
    - Du gibst in den Editor / IDE einen Quelltext ein
    - Dann wählst Du das Board aus, für der Quelltext in ein lauffähiges binär-codiertes Etwas gewandelt werden soll
    - Für jedes Board gelten globale Variablen (im Sinne: Welcher Pin wird angesprochen, wenn von A0 etc. die Rede ist)
    - Du nimmst die Pin-Bezeichnungen, die für das Ziel-Board gelten



    Somit musst Du Dich darum nicht kümmern, wie Pins an unterschiedlichen Boards adressiert werden.



    Beste Güße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().


  • in der Arduino IDE nimmst du die Arduino Bezeichnungen A0 , im AVR Studio halt den Port C und PIN 0 (das kannst du auch im Arduino Port und Pin nehmen)


    Danke, du hast mein Wochenende gerettet :bravo2:

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.


  • im Prinzip OK,


    da ich aber öfter zwischen den "Welten" wandel m1284p m328p m2560


    A0 ist immer A0 in der Arduino IDE aber in C auf dem AVR Studio auf unterschiedlichen Chips ist es besser den Code wenn möglich auf PORT und PIN zu machen


    für die ISR benutze ich sogar verschiedene Register weil es sonst klemmt, warum auch immer:



    somit sieht meine ISR für beide Prozzis gleich aus


    und LED_ARDUINO_ON auch egal welcher Arduino auch im AVR Studio

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • AVR Studio hab ich auch auf dem Rechner allerdings muß ich mich damit mal etwas beschäftigen.
    Mit der Arduino IDE läuft es grade so gut bei mir und für den Kleinkram reicht das aus.


    So langsam aber sicher komme ich bei den µC auch vorwärts.
    "Unterwegs um neue Welten zu entdecken" trifft es ganz gut.


    Danke für die Info's.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Edited once, last by Der_Imperator ().