Arduino vs. andra utvecklingsmiljöer

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ronnylov
Inlägg: 987
Blev medlem: 23 februari 2012, 12:06:19
Ort: Borås

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av ronnylov »

OK då faller argumentet att det är långsammare. Däremot kan det ta mera resurser såsom den där timern och att det tar kanske mera plats i minnet. Jag ska testa Arduino vid något tillfälle. Lätt att man får förutfattade meningar om man inte testar det själv.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Al_Bundy »

Glenn skrev:..Fast dom skriver inget om det på websidan och du vägrade tala om vilken kur s det var som använde arduino.. ?


Ang BASIC stamp så var ju största felet med den att den körde interpreterande BASIC, vilket var extremt långsamt och resurskrävande, om man tar ett BS-program och kompilerar det med PBP (det finns stöd för BS-syntaxen, men är inte rekommenderast att använda annat än för direkt migrering från BS) och häller ner det i en likadan PIC som finns på en BS så är det ofta en uppsnabbning med en faktor på typ 100 eller så.
Sällan Universitet skriver exakt allt om kursen. Kollar man TFE's kurser så skriver dom knappt kurslitteratur eller schema.

Det går inte jämföa BASIC stamp med Arduino. Arduino är flera gånger billigare och snabbare.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Al_Bundy »

Ni alla som säger att Arduino är segt.
Jag tänker dra upp en liten historia och sen jämföra den med ert klagomål med hastighet.

Vi tar en gammal Volvo som exempelvis. Dom anses dra ganska mycket bensin jämfört med dagens bilar. Enligt mig så drar dom väldigt lite. Det är bara att dom utvecklar få hästkrafter av sin konsumption. Men det var inte exakt det jag ville komma till. Vi säger att denna gamla volvo drar mycket bensin och då måste man köpa mer bensin. Det kostar pengar.
Bensinen är dyr är det många som klagar på. Javisst, det är det! Men gör så här. När du nästan har tom tank i bilen så ska du tanka in en liter bensin i bilen. Sen kör du så långt bort som du bara kommer. Du kanske kommer 8 km tills tanken är tom och bilen stannar. Då kliver du ut ur bilen och börjar putta på där back och sen ska du säga "Bensinen är för dyr".

Nä, Bensinen är ganska billigt i sånt där tillfälle!

Samma sak gäller arduinon. En arduino är snabb.
Man måste inte ha 100% lightspeed på sina processorer dag ut och dag in.
Därför duger Arduino hur bra som helst. Och att säga den är seg, så kan man själv trycka på knapparna och sköta det manuella :)
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9112
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av AndersG »

Därför duger Arduino hur bra som helst.
Visst gör den det, på samma sätt som Basic Stamp etc gör det. Det är helt och hållet frågan om ambitionsnivå och användningsområde.

Varför inte skippa PIC/AVR helt och köra med Raspberry Pi?
Användarvisningsbild
Icecap
Inlägg: 26645
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Icecap »

En fråga till Arduino-kunniga: har man tillgång till alla interrupt i den?
void
Inlägg: 119
Blev medlem: 8 juli 2007, 11:06:50
Ort: Enköping

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av void »

Eftersom jag inte använder Arduino själv borde jag kanske låta någon annan svara på frågan, men jag gör ett försök ändå :doubt: . Det Arduino IDE gör är att pre-processa koden/sketchen lite (lägga till en main() mm) innan den skickas till avr-gcc för kompilering/länkning. Eftersom det är avr-gcc som sköter kompilering fungerar det bra att lägga till egna ISR:er och annan kod på "vanligt AVR-sätt". Som jag har förstått det så behöver man inte använda av de Arduino-specifika delarna, IDE, funktionsbibliotek (Wiring) etc. om man inte vill. Det går till och med att kompilera/länka med extern makefil, men då kanske man tappat lite av grundidén om låg starttröskel.
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av LHelge »

Om jag min rätt kan man använda någon form av pin-interrupt för en eller eventuellt ett par pinnar. Jag vågar däremot inte lova att de motsvarar något hårdvaruinterrupt. De skulle lika gärna kunna hanteras i mjukvara.

Arduino är i grund och botten inte byggt för någon som helst realtidshantering, därav avsaknad av interrupt. Man skulle väl kunna säga att den uppfyller de tidsaspekter en människa klarar av att uppfatta, då räcker det gott med mjukvaruinterrupt.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av sodjan »

Det finns några "Arduino-kommandon" för att hantera interrupt, men
dessa hanterar anbart "pin-interrupt", inte någon annan enhet. Sen
kan man lägga till vanlig register-konfigurering för övriga intgerrupt,
lite googling på "arduino interrupt" ger en del exempel. Men som sagt,
då har man ju frångått den raka Arduino-vägen, så att säga...
Användarvisningsbild
SeniorLemuren
Inlägg: 8424
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av SeniorLemuren »

Mjukvaruavbrott (eller svengelskans mjukvaruinterrupt, som en del svänger sig med,) tycker jag låter lite tillspetsat. Vadå interrupt. Någon trycker på en knapp som sätter en port låg som måste kollas i en programslinga hela tiden.

När knappen trycks in så gör programmet någonting? Det är ju normal programmering och har väl egentligen ingenting alls med interrupt att göra. I så fall får man ju räkna in alla hopp till funktioner i programmet som mjukvaruavbrott.

Det var väl förresten en av de stora svagheterna i Basic Stamp att den saknade möjligheten till hårdvaruavbrott, som ju enligt min mening är en ganska väsentlig del i många processer.

Men visst hanterar väl Arduino hårdvaruavbrott som väl enligt vad jag förstår är det samma som pin-interrupt. Jag förstår inte LHelge riktigt här:
Om jag min rätt kan man använda någon form av pin-interrupt för en eller eventuellt ett par pinnar. Jag vågar däremot inte lova att de motsvarar något hårdvaruinterrupt.
Men som sagt. Jag håller mig till PIC som jag i och för sig inte är någon expert på heller. :)
Användarvisningsbild
Glenn
Inlägg: 36685
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Glenn »

Men det måste väl finnas timer-interupt ? eller ?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av sodjan »

Det jag tror LHelge menade, är att det inte är helt tydligt av Arduino dokumentationen
hur interrupt fungerar. Man kan få intryck av att det går genom ett extra lager där
styrningen sker. D.v.s att man gör en attachInterrupt() för att koppla en egen rutin
till valfri pinne. Men eftersom man kan ändra anropad funktion i runtime, så bör det
finnas något mer mellan hårdvaruavbrottet och den egna rutinen.

http://arduino.cc/en/Reference/attachInterrupt
http://arduino.cc/en/Reference/DetachInterrupt

Sen har jag sett andra exempel där man manipulerar AVR registren
direkt, men det är ju inte specifikt för Arduino på något sätt. Denna
sida beskriver båda metoderna:

http://www.engblaze.com/we-interrupt-th ... nterrupts/

> Men det måste väl finnas timer-interupt ? eller ?

Ja, *processorn* har det så klart, men Arduino "språket" har inget stöd för det.
Man får köra register hanteringen enligt avr-libc "som vanligt".
Användarvisningsbild
SeniorLemuren
Inlägg: 8424
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av SeniorLemuren »

Det tror jag, men det är väl egentligen att anse som en form av hårdvaruavbrott eftersom det hanteras av inbyggda "hårdvaru"-funktioner i µC:n?
Användarvisningsbild
Glenn
Inlägg: 36685
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Glenn »

Jag var kanske lite otydlig, men jag menade att arduinospråket måste väl kunna hantera timer-interupt ? ..det är ju en ganska stor nackdel annars.

Det är ju en hårdvaruinterupt, men inte den formen som beskrevs innan.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av sodjan »

> Det tror jag, men det är väl egentligen att anse som en form av hårdvaruavbrott...

Ja absolut, det var inte menat så! :-)

Programvaruavbrott är mer av typen "devide by zero" och liknande.
Eller "system traps" som det också kallas i en del arkitekturer.

Sen så kan man ju ofta pilla med interruptflaggorna direkt från
koden och på så sätt trigga ett interrupt...

> Jag var kanske lite otydlig, men jag menade att arduinospråket måste väl kunna hantera timer-interupt ?

Nej, det gör det inte. Enbart "pin-interrupt". Sedan får man gå över till det vanliga register-pillandet.
Skrev jag inte det nyss? Länken som även du fick nyss beskriver detta.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Arduino vs. andra utvecklingsmiljöer

Inlägg av Al_Bundy »

AndersG skrev:
Därför duger Arduino hur bra som helst.
Visst gör den det, på samma sätt som Basic Stamp etc gör det. Det är helt och hållet frågan om ambitionsnivå och användningsområde.

Varför inte skippa PIC/AVR helt och köra med Raspberry Pi?
Raspberry Pi är väll bara en liten dator som har ARM processor?
Raspberry Pi är väll inte heller helt opensource som Arduino är?
Skriv svar