PDA

View Full Version : ciao!!!! ho bisogno di voi!!!


ste2
04-03-2008, 10:55
:) Ciao ragazzi, sono nuovo e avrei moltissimo bisogno di un vostro consiglio, lavoro nel mondo dell'elettronica e dovrei iniziare a programmare!!!
non ho idea da che linguaggio partire, essenzialmente mi serve per il lavoro, dove usiamo atmega pic e altri microprocessori!!!
che tipo di linguaggio dovrei utilizzare!!!!
grazie mille in anticipo!!!:ciapet: :ciapet: :ciapet:

ste2
04-03-2008, 11:03
:D :D :D scusatemi per la faccina ultima, ho sbagliato, non avevo visto che girava!!!!!!

vizzz
04-03-2008, 12:12
lavorando su microcontrollori il "C" è direi d'obbligo.

ste2
04-03-2008, 12:16
grazie, dove lo posso trovare un corso di c, che libro mi consiglieresti?
qual'è la differenza tra c e c++?

vizzz
04-03-2008, 12:38
grazie, dove lo posso trovare un corso di c, che libro mi consiglieresti?
qual'è la differenza tra c e c++?

c++ è un superset di C orientato ad oggetti, implementa classi, template, ereditarietà ecc... tutte cose che nella programmazione di microcontrollori non servono e/o non puoi utilizzare per mancanza di un compilatore c++ per la tua architettura.
dai una lettura al thread in rilievo dove si discute di libri, oppure qualche discussione già fatta poco tempo fa.

ste2
04-03-2008, 14:16
phyton com'è?
va bene per i microcontrollori?
dove potrei trovare il software di c???
scusate l'ignoranza:D

ramarromarrone
04-03-2008, 14:34
libro: "linguaggio c" -> http://www.bol.it/libri/scheda/ea978887192200.html
compilatore: ggc -> http://gcc.gnu.org/
editor di testo : notepad++ -> http://notepad-plus.sourceforge.net/it/site.htm

tutto quello che occorre per incominciare + internet ovviamente per ciarire i dubbi
(@ moderatori I LINK NON SONO SPAM!)
ciao ciao

vizzz
04-03-2008, 14:38
phyton com'è?
va bene per i microcontrollori?
dove potrei trovare il software di c???
scusate l'ignoranza:D

python è un linguaggio interpretato, sul tuo microcontrollore non hai alcun interprete per poterlo utilizzare.

se intendi il compilatore, devi trovare il compilatore per il tuo micro.
io lavoro spesso con micro atmel (atmega128), potresti provare avr-gcc:

http://winavr.sourceforge.net/

cionci
04-03-2008, 15:08
Magari con un titolo più esplicativo avresti avuto più risposte...non pensi ?

ste2
04-03-2008, 18:17
Ciao, grazie ramarromarrone per i link, purtroppo sono totalmente nuovo nella programmazione, cioè non ho idea di che compilatore devo scaricare, ne di che notepad, e soprattutto delle loro funzioni, aiuto vi prego!!!!!!:D

71104
04-03-2008, 19:06
libro: "linguaggio c" -> http://www.bol.it/libri/scheda/ea978887192200.html
compilatore: ggc -> http://gcc.gnu.org/
editor di testo : notepad++ -> http://notepad-plus.sourceforge.net/it/site.htm
scusa ma perché gli consigli un compilatore per Linux e un editor di testo per Windows? :huh:
rettifichiamo il link del compilatore: www.mingw.org :read:

edit - ma sì perché no, rettifichiamoli entrambi: http://www.microsoft.com/express/vc/ :read: :read:

cionci
04-03-2008, 19:12
edit - ma sì perché no, rettifichiamoli entrambi: http://www.microsoft.com/express/vc/ :read: :read:
Pensi davvero di programmare per microcontrollori con Visual C++ Express o con MingW32 ? :D

Per compilare per microcontrollori bisogna conoscere il modello esatto del microcontrollore ed in base a quello recuperare il compilatore adatto. Spesso sono gcc based, ma non sempre.

ste2
04-03-2008, 19:17
GRAZIE PER LE DRITTE, MA SONO ANCORA IN ALTO MARE, HO APERTO I LINK MA NON CAPISCO QUALE MI SERVE????

vizzz
04-03-2008, 19:24
GRAZIE PER LE DRITTE, MA SONO ANCORA IN ALTO MARE, HO APERTO I LINK MA NON CAPISCO QUALE MI SERVE????

ogni microcontrollore ha il suo compilatore.

per gli atmega guarda nel link che ti avevo incollato:

http://winavr.sourceforge.net/ ovviamente se sei sotto windows

per linux esiste la toolchain nei repository

ste2
04-03-2008, 22:44
GRAZIE, SONO RIUSCITO A PRENDERE WINAVR, ,MA è UN COMPILATORE SOLO PER ATMEGA? SE SI X TUTTI GLI ATMEGA?
ESISTE UN MANUALE PER IMPARERE A PROGRAMMARE IN C IN FORMATO PDF DA SCARICARE?
MI CONSIGLIATE ALTRI COMPILATORI UN PO PER TUTTO?
GRAZIE MILLE

gugoXX
04-03-2008, 23:01
Boh, se puo' interessare a qualcuno si possono programmare gli ARM con il C#, grazie al MicroFramework.net.
Niente per Atmega per ora, ma ho letto che stanno estendendo la libreria anche per altri microprocessori e microcontrollori.

Passare dal C al C# avrebbe sicuramente dei vantaggi per quanto riguarda l'espressivita' e la semplicita' di sviluppo. (e non ultimo il debug)
Non so nulla sulle performance, anche se ho qualche dubbio. Solitamente quei processori sono un po' castrati, e spesso usati in ambienti dove si lavora per cercare di rubare qualche ciclo di clock.

Non che le applicazioni scritte in C# siano sempre piu' lente di quelle scritte in C, anzi, talvolta le complessita' di scrittura di un algoritmo altrimenti semplice ed efficiente fanno scoraggiare e scegliere strade peggiori...

Certo, se qualcuno interessato al campo imparasse ad usarlo seriamente immagino che non avrebbe poi problemi di lavoro. Stanno provando ad usare il microframework in Bosch per esempio.

Ritengo comunque prima utile se non indispensabile "Farsi le ossa" nel modo classico, come detto appunto C, prima di eventualmente approdare a questo strumento

http://en.wikipedia.org/wiki/.NET_Micro_Framework
http://www.robmiles.com/net-micro-faq/

71104
05-03-2008, 00:33
Pensi davvero di programmare per microcontrollori con Visual C++ Express o con MingW32 ? :D è vero, me n'ero scordato, mi sono fatto prendere la mano :O
XD

© Rocky
05-03-2008, 03:31
Ritengo comunque prima utile se non indispensabile "Farsi le ossa" nel modo classico, come detto appunto C, prima di eventualmente approdare a questo strumento

Concordo con Gugo, se sei alle prime armi la strada è un pò lunghina, sfoglia qualche libro di C per superare l'impatto e poi, vai avanti creando piccole applicazioni per fare confidenza con il linguaggio e via via così fino a diventare un mostro.. :D

cdimauro
05-03-2008, 06:59
Pensi davvero di programmare per microcontrollori con Visual C++ Express o con MingW32 ? :D

Per compilare per microcontrollori bisogna conoscere il modello esatto del microcontrollore ed in base a quello recuperare il compilatore adatto. Spesso sono gcc based, ma non sempre.
Spesso però si usa Visual C++ come ambiente di sviluppo (perché oggettivamente è uno degli ambienti più comodi per sviluppare con questo linguaggio o in C), e per la compilazione "finale" si configura appositamente l'uso di compilatore esterno. ;)

cionci
05-03-2008, 07:48
Spesso però si usa Visual C++ come ambiente di sviluppo (perché oggettivamente è uno degli ambienti più comodi per sviluppare con questo linguaggio o in C), e per la compilazione "finale" si configura appositamente l'uso di compilatore esterno. ;)
Certo, ma 71104 indicava Visual C++ Express sia come IDE che come compilatore.

ste2
05-03-2008, 08:01
ciao, grazie mille per i consigli, ma non sono riuscito a trovare ne il manuale di c (su internet intendo) ne un compilatore che non sia quello per atmega!!!
scusate l'ignoranza!!!!!
grazie ancora stefano

ste2
05-03-2008, 12:23
GRAZIE, SONO RIUSCITO A PRENDERE WINAVR, ,MA è UN COMPILATORE SOLO PER ATMEGA? SE SI X TUTTI GLI ATMEGA?
ESISTE UN MANUALE PER IMPARERE A PROGRAMMARE IN C IN FORMATO PDF DA SCARICARE?
MI CONSIGLIATE ALTRI COMPILATORI UN PO PER TUTTO?
GRAZIE MILLE

cdimauro
05-03-2008, 13:12
Certo, ma 71104 indicava Visual C++ Express sia come IDE che come compilatore.
Allora avevo capito male io. Sorry. :|

vizzz
05-03-2008, 20:46
GRAZIE, SONO RIUSCITO A PRENDERE WINAVR, ,MA è UN COMPILATORE SOLO PER ATMEGA? SE SI X TUTTI GLI ATMEGA?
ESISTE UN MANUALE PER IMPARERE A PROGRAMMARE IN C IN FORMATO PDF DA SCARICARE?
MI CONSIGLIATE ALTRI COMPILATORI UN PO PER TUTTO?
GRAZIE MILLE

che atmega usi? insieme al compilatore c'è anche avrdude che ti può dire tra le altre cose i micro supportati.

ste2
06-03-2008, 18:25
CIAO, HO SCARICATO LCCWIN, PER INIZIARE A PROVARE A PROGRAMMARE, SECONDO VOI VA BENE?
UNICO PROBLEMA IL TUTORIAL O GUIDA è IN INGLESE, ESISTE UNA GUIDA PDF IN ITALIANO??

vizzz
06-03-2008, 18:29
CIAO, HO SCARICATO LCCWIN, PER INIZIARE A PROVARE A PROGRAMMARE, SECONDO VOI VA BENE?
UNICO PROBLEMA IL TUTORIAL O GUIDA è IN INGLESE, ESISTE UNA GUIDA PDF IN ITALIANO??

scrivi in minuscolo please! :)
ma lcc da quanto vedo è un compilatore per piattaforma win, non te ne fai molto se il tuo target è un microcontrollore.

cionci
06-03-2008, 18:30
Forse gli serve per imparare il C ?
lccwin sinceramente non mi sembra che sia molto sviluppato, anche se ogni tanto spunta fuori ;)
In ogni caso meglio comprarsi un libro per il C.

ste2
06-03-2008, 18:52
GRAZIE A TUTTI!
IL problema ò che anche se compro un libro non ho il software del compilatore e il resto!!!
che tipo di compilatore mi serve per i microcontrollori, usando windows?????

cionci
06-03-2008, 19:02
Allora...con calma.
Se devi imparare C ti va bene un compilatore come mingw32.
Per compilare su microcontrollori: ogni microcontrollore ha il suo compilatore.

ste2
06-03-2008, 19:32
ok!!
grazie per la tua pazienza, e complimenti per il dio chitarrista che hai come avatar!!!
ma io non sapendo ancora programmare niente, e necessitando di imparare soprattutto la programmazione per il lavoro ovver elettronica, da cosa devo cominciare di c!!!
cioè consigliami te un compilatore e una guida in italiano se possibile per iniziare a programmare, anche il compilatore più banale!!!
grazie ancora per l'aiuto

cionci
06-03-2008, 21:19
grazie per la tua pazienza, e complimenti per il dio chitarrista che hai come avatar!!!
:mano:

Scarica questo: http://downloads.sourceforge.net/mingw/MinGW-5.1.3.exe?modtime=1168811236&big_mirror=1
Esegui l'installazione, seleziona Previous (attualmente sembra che ci sia un errore nel pacchetto della Current), seleziona Minimal, installa in C:\MingW.
Start -> Proprietà su Risorse del Computer -> Avanzate -> Variabili d'ambiente, cerca Path nella finestra in basso, doppio click, aggiungi in fondo

;C:\MinGW\bin

poi Ok -> Ok -> Ok.

Per cominciare a programmare:
Start -> Esegui -> cmd -> ok

Per modificare o creare un sorgente:

notepad mio.c

Ad esempio incollaci:

#include <stdio.h>

main()
{
printf("Hello world\n");
return 0;
}


Salva.

Dalla console scrivi:

gcc mio.c -o mio.exe

Ti verrà creato nomefile.exe, eseguilo per provare.

Ti ho consigliato appositamente un compilatore da riga di comando per farti prendere mano con questo genere di strumento, visto che molti compilatori per microcontrollori sono da riga di comando e spesso hanno per giunta la stessa interfaccia dei comandi.

Per compilare, per molto tempo ancora, ti basterà il comando che ti ho detto sopra.

ste2
07-03-2008, 11:08
grazie, stasera provo subito, ma c'è anche una guida o un tutorial che mi aiuta!!!!

cionci
07-03-2008, 11:09
grazie, stasera provo subito, ma c'è anche una guida o un tutorial che mi aiuta!!!!
No...ovviamente no. Per il tutorial devi cercare sulla rete, non so aiutarti, ma secondo me ti conviene un libro.

ste2
07-03-2008, 11:18
ma tipo, ci vuole un tutorial specifico oppure una cosa generica sul c puo andare bene???
grazie ancora

cionci
07-03-2008, 11:21
ma tipo, ci vuole un tutorial specifico oppure una cosa generica sul c puo andare bene???
grazie ancora
Una cosa generica sul C va bene, fermo restando che ogni microcontrollore ha le sue caratteristiche, come ad esempio limitazioni al linguaggio, operazioni che è meglio non fare, suggerimenti di ottimizzazione del codice per prestazioni e dimensioni della memoria occupata, dimensioni dei vari tipi etc etc...tutte cose a cui ti troverai di fronte al momento in cui vorrai programmare su un determinato microcontrollore.

ste2
07-03-2008, 11:25
grandissimo, veramente preciso, ma comunque ancora devo iniziare a imparare il c quindi cose troppo specifiche non mi servono!!!!
ci sono programmini da eseguire per primi per prenderci pratica!!!
scusami se alcune domande sono inutili o fuori luogo, ma non so niente di tutto questo!!!
mi conviene iniziare da hell,world e imparare la somma sottrazione potenze ecc. oppure c'è altre vie!!!

cionci
07-03-2008, 11:29
Ti conviene seguire un libro e fare gli esercizi che sono proposti sul libro ;)
Poi dopo potresti andare a prendere un primo microcontrollore e cercare qualche esempio di codice per quella scheda in particolare...

banryu79
07-03-2008, 11:57
mi conviene iniziare da hell,world e imparare la somma sottrazione potenze ecc. oppure c'è altre vie!!!

OFF TOPIC (battuta):
No meglio cominciare da hello world, hell world ha la brutta nomea di far scoraggiare subito chi parte per imparare le basi, costringendolo a passare troppo tempo al debugger :D

Volutomitra
07-03-2008, 12:31
Per i PIC i compilatori sono C18 (per micro a 8 bit) e C30 (16 bit). La versione per studenti è gratuita (dopo 60 giorni però entrano in gioco alcune limitazioni).
C'è anche un IDE, si chiama MPLAB.

Qui puoi trovare link per download e documentazione:

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010065

franziski
02-05-2008, 11:49
Forse gli serve per imparare il C ?
lccwin sinceramente non mi sembra che sia molto sviluppato, anche se ogni tanto spunta fuori ;)
In ogni caso meglio comprarsi un libro per il C.

QUello che apprezzo di LCCWIn è il watch sullo stack. E' molto interessante quando si hanno chiamate ricorsive.
Dev-c++ ha la stessa funzionalità?

ech0s
03-05-2008, 14:34
Esiste il Mikro C per i Pic: :D

Ecco il link dell'editor/compilatore :read:
http://www.mikroe.com/en/compilers/mikroc/pic

è semplicissimo e all'interno vi sono molti esempi applicativi, mentre se ti serve una mano posso darti anche il link di Roboitalia dove ci sono molti progetti con PIC

http://www.roboitalia.com

Se poi lavori con l'elettronica sicuramente conoscerai la rivista FareElettronica:anche lì ci sono molte applicazioni di PIC e mikroC