Domanda:
Arduino vs standalone microcontroller programming
user16307
2012-04-10 04:51:26 UTC
view on stackexchange narkive permalink

Arduino è fantastico da programmare e utilizzare. Ma se ho bisogno di produrre un microcontrollore autonomo (ad esempio nel caso della produzione di un dispositivo), immagino di aver bisogno di conoscere la programmazione PIC, il linguaggio C, il kit del programmatore ecc.

1) Arduino non usa C.

2) Utilizzando la scheda Arduino non posso programmare nessun microcontrollore PIC

La mia domanda è che se creo un dispositivo e non posso usare Arduino per l'obiettivo finale, significa che anche devi imparare la programmazione PIC e molti altri aspetti? Arduino serve solo a testare le tue idee piuttosto che implementarle per un uso autonomo?

Sembra che tu pensi che _PIC programming_ significhi programmare un microcontrollore, il che non è corretto. [PIC] (http://en.wikipedia.org/wiki/PIC_microcontroller) è una famiglia di microcontrollori realizzati da ** Microchip **. Le schede Arduino sono basate sui [microcontrollori AVR] (http://en.wikipedia.org/wiki/Atmel_AVR) realizzati da ** Atmel **.
A proposito, già che ci sei, perché non iniziare ad accettare poche risposte. Sono state poste diverse domande con 2 o più risposte, ma nessuna è stata accettata.
@m.Alin: In realtà * programmare PIC * significa programmare un microcontrollore. Tutti i PIC sono microcontrollori, sebbene ci siano altri microcontrollori che non sono PIC.
@OlinLathrop Hai ragione; Avrei dovuto dire "programmare qualsiasi microcontrollore"
Secondo Icarus74. Hai notato il numero e la qualità delle risposte che stai ottenendo alle domande che hai posto? Le persone stanno dedicando tempo e sforzi per te. Accettare una risposta migliore è uno dei modi importanti in cui diciamo "grazie" su questo sito.
@m.Alin In realtà, anche gli AVR sono prodotti da Microchip oggigiorno.
Sette risposte:
JRobert
2012-04-10 05:29:16 UTC
view on stackexchange narkive permalink

È possibile utilizzare un microcontrollore AVR nel prodotto per eseguire il codice sviluppato su una scheda di sviluppo Arduino.

Arduino è una buona piattaforma di sviluppo e prototipazione perché viene fornito con molte strutture hardware pronte per l'uso, ma questo è ciò che lo rende troppo costoso per un prodotto. Puoi utilizzare lo stesso tipo di chip microcontrollore o un tipo simile nel tuo prodotto senza l'intera scheda Arduino attorno ad esso.

Questa pagina dal sito web di Arduino descrive come fai il breadboard di un chip controller AVR nudo e di un cristallo e carica il tuo programma Arduino.

Stefan Paul Noack
2012-04-10 14:51:09 UTC
view on stackexchange narkive permalink

Le effettive periferiche hardware necessarie per creare un arduino sono piuttosto minime. Diamine, possono anche essere saldati direttamente al chip se vuoi:

One Chip Arduino

La vera differenza sta nel software. Quando si programma direttamente in C o anche in Assembly, è possibile ottenere prestazioni migliori in meno spazio per il programma, il che consentirebbe di utilizzare un AVR più piccolo in produzione.

È fantastico! Mi chiedo se si possa saldare e programmatore SMT su un SOIC-8 :)
@abdullahkahraman: intendi .. due gettoni uno sopra l'altro?
Nessun componente SMT su un AVR SMT. Immagina tutti questi componenti negli SMD dell'immagine sopra.
bene, probalby. ma il singolo chip arduino è pensato per risparmiare spazio su una breadboard. se stai usando SMT, avrai comunque bisogno di un PCB e puoi semplicemente posizionare i componenti sulla scheda accanto al chip. ;-)
Sì, lo so :) Dopo il [trucco dei 3 LED] (https://www.youtube.com/watch?v=RkTvDjhImwo), volevo vedere qualcosa di simile :)
@abdullahkahraman: haha, è fantastico!
ducksauz
2012-04-10 09:03:53 UTC
view on stackexchange narkive permalink

Quando si programma Arduino, si sta effettivamente programmando in un sottoinsieme di C ++. AVR-GCC è il compilatore incluso con l'applicazione Arduino per compilare il tuo codice. Ciò che l'ambiente Arduino fornisce è un bel livello di astrazione hardware per facilitare il lavoro di gestione delle complessità della programmazione del microcontrollore. Puoi concentrarti sulla funzionalità del tuo codice e le librerie Arduino gestiscono le cose di basso livello.

Ciò avviene a scapito delle prestazioni. Il livello di astrazione di Arduino può richiedere 10-20 volte più tempo per alcune cose rispetto alla gestione diretta dei registri del microcontrollore. Tuttavia, questo non è un problema per la maggior parte delle persone a meno che non stiano cercando di realizzare progetti seriamente complessi e ad alta intensità di processore.

Arduino non è completamente conforme a C ++.
Tom Davies
2012-04-10 05:25:04 UTC
view on stackexchange narkive permalink

Non è necessario conoscere la programmazione PIC, a meno che non si desideri utilizzare un microcontrollore PIC. I microcontrollori Atmel AVR utilizzati dalle schede Arduino sono sostanzialmente simili ai PIC per quanto riguarda l'idoneità all'uso in un dispositivo prodotto reale.

Un microcontrollore AVR programmato con uno schizzo di Arduino può essere utilizzato in un "dispositivo fabbricato". Questo microcontrollore non deve vivere su una scheda Arduino, può semplicemente essere una parte del tuo dispositivo.

Rocketmagnet
2012-04-10 05:27:12 UTC
view on stackexchange narkive permalink

Dipende. Puoi certamente usare un Arduino in un dispositivo commerciale. È particolarmente utile se hai intenzione di produrre solo uno o due di questi dispositivi e al cliente non importa il costo e le dimensioni di Arduino.

Tuttavia, se intendi produrre migliaia o milioni di dispositivi , quindi probabilmente scoprirai che li stai vendendo a un prezzo che esclude il costo di Arduino. In tal caso, quasi sicuramente dovrai passare a un microcontrollore appropriato.

Imparare a usare un microcontrollore vale davvero la pena se intendi guadagnarti da vivere in questo campo. Tuttavia, non è necessario passare direttamente a C. Perché non provare il sistema PICAXE. Puoi usare un microcontrollore PIC, ma programmarlo in BASIC.

miceuz
2012-04-10 14:54:39 UTC
view on stackexchange narkive permalink

Se vuoi produrre un dispositivo microcontrollore, puoi farlo su microcontrollore AVR, microcontrollore PIC o guardare quelli ARM.

I microcontrollori AVR Bare Bare di solito non sono dotati di capacità di connessione USB, avrai bisogno di un dispositivo speciale per programmarlo, ma ci sono alcuni dispositivi ARM (famiglia NXP LPC1343 o LPC17 **) che vengono forniti con USB ed ethernet. Sono necessari solo un connettore USB e un paio di resistenze.

Dovrai imparare la programmazione C per programmarlo, ma ci sono già librerie che lo rendono semplice quasi come arduino per te - http: //microbuilder.eu e http://www.universalair.co.uk/forebrain hanno schede di sviluppo basate su ARM e stack di software. Ti consiglio vivamente di cercare esempi di proencefalo.

Ci sono più alternative di quelle 3, dovresti menzionarlo
minghua
2012-09-11 11:40:01 UTC
view on stackexchange narkive permalink

Considerando alcuni fattori, le schede di sviluppo LPC1343 (Olimex LPC P1343) e LPC1769 (NXP OM13000) sono qualcosa che potresti voler dare un'occhiata.

  • Sono basati sull'architettura ARM del flusso principale. (Nel senso che ARM è una delle due architetture RISC standard / mainstream - MIPS e ARM).
  • Usano toolchain C standard a 32 bit.
  • LPC17xx ha una MPU incorporata, quindi puoi caricarlo con uCLinux o altri sistemi operativi basati sulla protezione. Ciò significa un'applicazione software più complicata che puoi integrare nel tuo prodotto.
  • Per i motivi di cui sopra, sarà più facile trovare ingegneri qualificati e trovare progetti di riferimento di qualità industriale.

Questo è solo il mio 2c. Dopotutto, è la tua chiamata a considerare non solo il costo iniziale, ma anche la conseguente facilità di progettare, sviluppare, distribuire / vendere il tuo prodotto, a un volume che prevedi ea una velocità che renda il tuo prodotto redditizio.

C'è un [blog sul perché dovresti usare lpc1768 OM13000 qui: Il processore ARM Cortex-M3 per lo sviluppo di istruzioni scientifiche] (http://quantalume.com/wp/?p=7). Guardalo per i motivi per cui dovresti guardare la serie lpc1700.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...