Hur jämföra portar (pin) mellan Arduino Uno och Mini

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 905
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: Hur jämföra portar (pin) mellan Arduino Uno och Mini

Inlägg av mankan »

Om din kod använder Arduinons biblioteksfunktioner för IO, dvs pinMode, digital-Read/Write och analogRead/Write så lyssna på Nilfenheim.

Om din kod däremot pillar på register direkt typ PORTB |= 0xa0; så lyssna på Mr Andersson.
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32626
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: Hur jämföra portar (pin) mellan Arduino Uno och Mini

Inlägg av HUGGBÄVERN »

Så där, det känns genast bättre.

Jag lämnar helst inte komfortzonen förrän jag kan det här.

Även om det har gjorts ett praktfullt jobb att få till bra nybörjarguider och instruktionsmaterial är det som att folk tappar huvudet: Sådär, nu har du skrivit din första sketch och fått en lysdiod att blinka. Då går raskt på nästa projekt för att läsa av en ultraljudsmodul och sammanställer en bild av rummet och skickar via en blåtandsmodul ...
nifelheim
Den första
Inlägg: 2318
Blev medlem: 27 mars 2008, 22:31:16
Ort: stockholm

Re: Hur jämföra portar (pin) mellan Arduino Uno och Mini

Inlägg av nifelheim »

inser att jag inte var särskilt tydlig :)

Det var det jag avsåg när jag svamlade om Arduino IDE,
skulle snarare stå Arduinos egna I/O funktioner,
precis som mankan skriver. :)
Användarvisningsbild
netrunner
Inlägg: 5510
Blev medlem: 4 februari 2005, 12:26:05
Ort: 127.0.0.1

Re: Hur jämföra portar (pin) mellan Arduino Uno och Mini

Inlägg av netrunner »

Med Arduino så offrar du några små saker ... men enkelheten kompenserar.

Jag har fortfarande 50st PIC i lagar och har inte rört dom sen den dagen jag använder första arduinon.

Jag kunde knappt fatta att det gick att ansluta med USB direkt till datorn och bara köra "blink a LED" och det funkade direkt!!!

Timmar av onödigt slit ... bara försvann. :razz: :razz: :razz: :razz:
Användarvisningsbild
HUGGBÄVERN
Tidigare soundbrigade
Inlägg: 32626
Blev medlem: 23 augusti 2006, 22:44:11
Ort: Lilla Paris
Kontakt:

Re: Hur jämföra portar (pin) mellan Arduino Uno och Mini

Inlägg av HUGGBÄVERN »

Jag har tagit fram små experimentkort, dels för 328:an och dels för 85:an. Tanken var att kunna göra enkla saker där jag inte behöver ansluta mig till PC eller behöver massa extrafunktioner som de olika kortdatorerna erbjuder.
Av någon orsak tycker jag det är lättare attm när jag programmerar med Arduino Uno, veta vad som händer på vilket ben på en 28-pinnars ATmega-krets eller en 8-pinnars ATtiny.
Användarvisningsbild
Gorgus
Inlägg: 1997
Blev medlem: 24 april 2006, 22:42:42
Ort: Eskilstuna
Kontakt:

Re: Hur jämföra portar (pin) mellan Arduino Uno och Mini

Inlägg av Gorgus »

Vet inte om detta kan vara till nån hjälp?

http://www.pighixxx.com/test/pinoutspg/
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: Hur jämföra portar (pin) mellan Arduino Uno och Mini

Inlägg av Wedge »

Mr Andersson skrev:
nifelheim skrev:Om du använder Arduino IDE är det ju liksom hela iden att du inte behöver fundera på det.
( Du ska alltså helst inte läsa datablad och kolla vad pinnar och portar heter där :) )

Om du använder pinne D1 i ditt program kan du bara byta mellan dom olika modellerna och det är fortfarande pinne D1.
När minnet tar slut i din UNO byter du till en MEGA och när den inte är snabb nog byter du till en Arduino DUE (32 bitar ARM 80MHz)
Utan att ändra i ditt program, bara byta "board" i menyn på IDE'n.

Det är enkelheten som är grejen ( sedan blir ju en del annat lidande :) )
Nä riktigt så enkelt är det inte. Skilj på portar, pinnar och "arduino-pinnar".
Använder man Arduinos egna digitalWrite & co så stämmer deras egen pinnumrering mellan alla modeller. Men TS pratar ju om portar.
T.ex. så är D1 arduinopinne 1 på en 328 och arduinopinne 20 på en 2560.

Vill du ha portabilitet, använd arduinos egna funktioner. Vill du ha prestanda använd portarna direkt (och gör en separat #ifdef för varje modell)
Skilj på portar, pinnar och "arduino-pinnar", ja. Hade ni åtminstone menat samma saker när ni skriver "D1" hade det nog förvirrat mindre.
"D1" är ett hittepåbegrepp. Nifelheim började, och att kalla Arduinonumreringens digitala in/utgångar för Dn är väl OK, även om alla in/ut refereras till med ett numeriskt index (även de analoga, "An" är symboliska namn på numeriska index).
Frågar man Atmel vad pinnen på kretsen heter så heter den PD1. Port D, bit 1. Lite olyckligt att det var just port D som drogs in i diskussionen samtidigt som hittepåprefixet "D".
Skriv svar