- Labornetzteil AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Welche PIN's können als I/O verwendet werden beim Atmega32U4?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.709
    Hallo und willkommen im Forum.
    .. Atmega32U4 .. Soweit ich das aus dem Datenblatt heraus lesen konnte, hat dieser 12ADC channels und 26 I/O Liness ..
    Nein, NICHT "und". Er hat 26 I/Os, DAVON sind 12 (unter anderem) nutzbar als ADCs, nach Vollbelegung mit 12 ADCs bleiben noch vierzehn Pinne übrig für anderweitige Nutzung. Zu den 26 I/Os mit teils alternativen Anschluss-/Konfigurationsmöglicheiten kommen noch 18 "weitere" Anschlüsse dazu. Damit sind die 44 Gesamtpinne des ICs vollständig. Die "weiteren" 18 festen Anschlussmöglichkeiten sind:
    Code:
    2 x Vcc
    4 x GND
    1 x /RESET
    1 x UVcc
    1 x UGnd
    2 x AVCC
    1 x AREF
    1 x XTAL1
    1 x XTAL2
    1 x D-
    1 x D+
    1 x UCap
    1 X VBus
    .. Atmega32U4 .. "26 I/O Lines" -> .. 26 I/O PIN's hat mit denen ich etwas einlesen oder schalten kann ..
    Aber genauso hast Du es ja hier auch aufgeschrieben. Wenn ich alle im Datenblatt unter Features gelisteten Anschlüsse zusammenzähle, komme ich locker auf über dreißig, vielleicht gar vierzig Anschluss>>möglichkeiten<<. Davon sind aber etliche entweder-oder, es gibt eben unterschiedliche aber alternative Möglichkeiten die Anschlüsse zu konfigurieren bzw. zu nutzen.

    Bei mir steht gaaanz oben im Mainmodul meiner Programme immer die Konfiguration der Pinne z.B. in dieser Form (hier NICHT Atmega32U4)
    Code:
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    // ===  Grundlegende Initialisierungen der Hardware, Portdefinition    -
    //  PCINT8,  XCK0,   T0, PB0   1        40  PA0, ADC0,  PCINT0         
    //  PCINT9,  CLKO,   T1, PB1   2        39  PA1, ADC1,  PCINT1         
    //  PCINT10, INT2, AIN0, PB2   3        38  PA2, ADC2,  PCINT2         
    //  PCINT11, OC0A, AIN1, PB3   4        37  PA3, ADC3,  PCINT3         
    //  PCINT12, OC0B,  /SS, PB4   5        36  PA4, ADC4,  PCINT4         
    //  PCINT13, ICP3, MOSI, PB5   6        35  PA5, ADC5,  PCINT5         
    //  PCINT14, OC3A, MISO, PB6   7        34  PA6, ADC6,  PCINT6         
    //  PCINT15, OC3B,  SCK, PB7   8        33  PA7, ADC7,  PCINT7         
    //                    /RESET   9        32  AREF                       
    //                       Vcc  10        31  GND                        
    //                       GND  11        30  AVcc                       
    //                     XTAL2  12        29  PC7, TOSC2, PCINT23        
    //                     XTAL1  13        28  PC6, TOSC1, PCINT22        
    //  PCINT24, RXD0,   T3, PD0  14        27  PC5, TDI,   PCINT21        
    //  PCINT25, TXD0,       PD1  15        26  PC4, TDO,   PCINT20        
    //  PCINT26, RXD1, INT0, PD2  16        25  PC3, TMS,   PCINT19        
    //  PCINT27, TXD1, INT1, PD3  17        24  PC2, TCK,   PCINT18        
    //  PCINT28, XCK1, OC1B, PD4  18        23  PC1, SDA,   PCINT17        
    //  PCINT29,       OC1A, PD5  19        22  PC0, SCL,   PCINT16        
    //  PCINT30,   OC2B, ICP PD6  20        21  PD7, OC2A,  PCINT31        
    //              ===================================================
    // ####>>>>     Initialisierung der Anschlüsse für R5M auf mega1284: <<<<####
    //           (           PB0   1 A   A  40  PA0         (CN 11-1 -Audi-Busy)
    // CN_12     (           PB1   2 A   A  39  PA1         (CN 11-3 -Audi-Clock)
    // PORTB     (           PB2   3 A   A  38  PA2         (CN 11-5 -Audi-Data)
    // (CIR od.  /           PB3   4 A?  E  37  PA3         (CN 11-4 -Audi)
    //  LCD ...  \           PB4   5 A   A  36  PA4, Servo10
    //  siehe    (     MOSI, PB5   6 A   A  35  PA5, Servo9
    //  unten    (     MISO, PB6   7 A   A  34  PA6, Servo8
    //  TasteC=3 (      SCK, PB7   8 EU  A  33  PA7, Servo7
    //  Taste /RES,       /RESET   9        32  AREF ref Vcc, aktuell
    //                       Vcc  10        31  GND                        
    //                       GND  11        30  AVcc                       
    //                     XTAL2  12     A  29  PC7, Servo6
    //                     XTAL1  13     A  28  PC6, Servo5
    //           RXD0,       PD0  14 EU  A  27  PC5, Servo4
    //           TXD0,       PD1  15 EU  A  26  PC4, Servo3
    //           RXD1,       PD2  16 EU  A  25  PC3, Servo2
    //           TXD1,       PD3  17 A   A  24  PC2, Servo1
    //           L1g         PD4  18 A   E  23  PC1, SDA   
    //           L1r         PD5  19 A   E  22  PC0, SCL   
    //             TasteA=1, PD6  20 EU  EU 21  PD7, TasteB=2, PCINT31, (Sound)
    // - - - - - - - - - - - - - - -
    // ####>>>>     PB3 ist evtl. Source für IR-DME-LED !! = CIR-LED
    // - - - - - - - - - - - - - - -
    // ####>>>>     Initialisierung/Anschlüsse von PORT B für LCD DEM 16x2
    //     data bit 4        PB0  0 A  WS Pin1 | 
    //     data bit 5        PB1  1 A     Pin2 | -- Der 10-polige Wannenstecker
    //     data bit 6        PB2  2 A     Pin3 |    ist an die Belegung wie beim
    //     data bit 7   SCK, PB3  3 A     Pin4 |    Transistortester angepasst
    //     RS line           PB4  RS      Pin5 |    es kommen noch
    //     ENABLE line MOSI, PB5  EN1     Pin6 |    Pin  9  GND und
    //     R/W (offen) MISO, PB6  R/W     Pin7 |    Pin 10  Vcc dazu
    //     NC (TasteC) SCK,  PB7  NC      Pin8 |___________________________
    //     GND                            Pin9   
    //     Vcc                            Pn10      | Anmerkg: ENABLE line !
    // - - - - - - - - - - - - - - -
    // Ports+Pins als Ein- (0) od Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren
    //      A = Ausgang, E = Eingang ohne , EU = Eingang MIT PullUp
      DDRA  = 0b11110110;   // PA0..2 WTV Bsy/Clk/Dto, PA3=Eingang f Sharp
      PORTA = 0b00000001;   //    und Port/Pull Ups (1)  aktivieren
                            //
      DDRB  = 0b01111111;   // siehe aktuell oben, PB0..6: LCD (oder sonstiges)
      PORTB = 0b10000000;   //    und Port/Pull Ups (1)  aktivieren
                            //
      DDRC  = 0b11110111;   // PC0..7 (mega1284), PC0 + PC1 = I2C
      PORTC = 0b00000000;   // bis auf I2C : Servoausgänge, OHNE Pullup !!
                            // 
      DDRD  = 0b00111100;   // -> siehe Schaltplan m1284_DIL-II_x19_as-build
      PORTD = 0b11000011;   //    Pull Ups aktivieren, NICHT bei extINT0/~1
    
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    später kommen evtl. noch Nutzungen/Initialisierungen von Timern, PWMs oä dazu.

    Anmerkung: ich finde es bestens, dass Du VOR Benutzung des Controllers das Datenblatt aufmerksam studierst und begreifen willst.
    Geändert von oberallgeier (27.11.2016 um 09:43 Uhr) Grund: ADC ist EINE Möglichkeit; 2 Nachtrag: 26 + 18 = 44
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. [ERLEDIGT] Wie können PWM Kanäle parallel geschaltet werden?
    Von lobogo im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 13
    Letzter Beitrag: 13.01.2015, 15:03
  2. LCD's die mittels Bascom angesprochen werden können
    Von TBA789 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 34
    Letzter Beitrag: 05.05.2009, 09:32
  3. welche Sensoren werden hier verwendet?
    Von pmaler im Forum Sensoren / Sensorik
    Antworten: 6
    Letzter Beitrag: 28.03.2008, 07:44
  4. Welche Mikrokontroller werden in Industrie verwendet?
    Von Sheridan im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 04.10.2006, 12:24
  5. Wie kan externes RAM bei PIC verwendet werden?
    Von JayCool im Forum PIC Controller
    Antworten: 11
    Letzter Beitrag: 24.01.2006, 11:16

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen