hamradioweb.org

 


Go Back   hamradioweb.org > Discussioni / Areas of discussion > Elettronica digitale rivolta al mondo Hamradio

Notices

Elettronica digitale rivolta al mondo Hamradio elettronica digitale, microcontrollori e schede di sviluppo destinate al campo radioamatoriale, funzionamenti/costruzione di strumenti di misura digitali, controllo hardware (motori passo passo, servomotori, encoders rotativi), beacon e sistemi automatizzati, schede di controllo remoto sia wireless che web e tutto quello che riguarda l'elettronica digitale orientata al nostro mondo.

Reply
 
Thread Tools Search this Thread
Old 21-02-13, 13:02   #1
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Microcontrollore... che animale è?

Apro le danze

Il microcontrollore è un dispositivo programmabile in grado di memorizzare, eseguire e gestire informazioni di dati. Ne consegue che i microcontrollori sono adatti a gestire situazioni di ogni genere. Possono acquisire dati dall’esterno, processarli ed agire di conseguenza compiendo operazioni che noi abbiamo prefissato in fase di programmazione. In sostanza, lui fa ciò che noi gli diciamo di fare.

Il microcontrollore è un sistema completo formato da diversi elementi:
CPU (Central Processor Unit); il cervello del sistema.
ALU (Aritmetich Logic Unit); unità che effettua le operazioni logiche */+-.
FLASH MEMORY; memoria che contiene il nostro programma. Può essere scritta e sovrascritta.
RAM (Random Access Memory); memoria dove custodire i dati temporanei usati dal nostro programma.
EEPROM (Electrically Erasable Programmable Read-Only Memory); memoria che può essere usata per scriverci dati e conservarli anche a micro disalimentato. I dati posso essere letti e riscritti in qualsiasi momento.
TIMER; unità che gestisce i tempi di operazione del micro ed i tempi di esecuzione.
PORTE I/O; porte Input/Output di comunicazione con l’esterno.
REGISTRI; speciali “pagine” che gestiscono le unità interne ed i loro modi di funzionamento. Possono essere letti e scritti.

Il solo ed unico linguaggio che i microcontrollori capiscono, è il codice macchina, ovvero una serie di istruzioni in codice binario che sono state impostate di targa dal costruttore.
Per rendere più malleabile il codice macchina, i produttori forniscono uno “pseudo-codice” chiamato ASSEMBLY che consiste in abbreviazioni letterali che saranno poi convertite in codice macchina da appositi programmi chiamati ASSEMBLER.
Anche il codice Assembly è abbastanza ostico e non sempre facile da ricordare a livello sintattico-mnemonico. Per agevolare il lavoro agli addetti, oggi possiamo usare i più comuni linguaggi di programmazione (come il C, C++ o il vecchio Basic) tramite programmi chiamati COMPILATORI.

Ricapitolando, possiamo scrivere il nostro programma in C++ ed il COMPILATORE lo trasformerà direttamente in codice macchina tramite un ASSEMBLER interno, per poi essere a sua volta scritto nella FLASH MEMORY del micro.

--------------------------------------------------------------------------------------------------------------------------
Il modo più semplice ed immediato per affacciarsi al mondo dei microcontrollori è l’uso di schede di prototipazione tipo Arduino, che non solo sono già belle e montate, ma sono anche interfacciate via USB con il computer che contiene il compilatore/programmatore.

Ci sono diverse tipologie di schede che si differenziano principalmente nella quantità di memoria FLASH (dove si scrive il nostro programmino). Fondamentalmente i comandi ed il modo di programmazione sono pressoché identici, rendendo “trasportabili” i vari programmi (chiamati sketch) da una scheda all’altra senza grandi cambiamenti se non qualche piccolo adattamento software.

La scheda base, se così possiamo chiamarla, è l’Arduino UNO. Questa scheda monta a bordo un controllore con una frequenza di clock di 16MHz. Ha tredici pin di ingresso/uscita digitali (0-5 volt) e di questi, due pin possono essere usati per la comunicazione seriale TTL (ovvero con valori 0-5V). Sempre di questi tredici pin, sei pin possono essere usati per generare un segnale PWM, ovvero un’onda quadra con duty-cycle variabile. Proseguendo, abbiamo sei ingressi analogici con cui misurare tensioni massime di 5V. Il convertitore A/D (analogico/digitale) è a 10 bit.

Per il momento tralasciamo gli altri pin che vedremo in seguito a cosa servono.
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

Last edited by IZ0GIF; 21-02-13 at 15:20.
IZ0GIF non  è collegato   Reply With Quote
Old 21-02-13, 21:43   #2
iw5eij
Senior Member
 
iw5eij's Avatar
 
Join Date: May 2009
Location: JN53ps
Posts: 593
Re: Microcontrollore... che animale è?

...oh che bello! Bravo

Allora intanto andro sulla baya a ordinar l'arduino, mega... o uno?
__________________
little pistol station op. Leo - stazione Yaesuita
IW5EIJ's website


ARI Firenze


Radio what's new?
Radio, someone still loves you


de IW5EIJ / KK6TIF
iw5eij non  è collegato   Reply With Quote
Old 22-02-13, 10:52   #3
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Dato che ci sei, prendi una MEGA che lascia molto più spazio alla fantasia
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.
IZ0GIF non  è collegato   Reply With Quote
Old 22-02-13, 10:57   #4
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Continuiamo.

In campo radioamatoriale, ci troviamo spesso nella situazione di dover effettuare delle misure e ricavarne, da esse, informazioni utili. I campi sono tra i più svariati, dalla misura del ROS alla lettura di una tensione o di un dato seriale o alla rilevazione dello stato di un pin. Per iniziare, vediamo come trasformare una lettura analogica in un dato comprensibile al nostro micro.

Il convertitore A/D (analogico/digitale)
Se il nostro micro ragiona solo con codici binari, come facciamo a fargli leggere una tensione che è una grandezza analogica? Ecco che ci viene in aiuto il Convertitore Analogico/Digitale.

Il convertitore Analogico/Digitale è un dispositivo che trasforma una tensione, quindi una grandezza analogica, in un valore numerico in forma binaria. La risoluzione di un convertitore A/D si misura in bit ed indica il numero massimo di livelli che può restituire in uscita.

Facciamo un esempio con un convertitore A/D ad 8 bit.
Un convertitore ad 8 bit può restituire un valore binario massimo di 1111 1111 che sono, in decimale, 256 livelli. In realtà, se fate la conversione da Binario a Decimale, quel valore rappresenta 255 ma considerando che anche lo zero è un valore, ecco che abbiamo 256 livelli (da 0 a 255). Per ricavare il numero di livelli ottenibili, basta fare 2^8 dove 2 rappresenta il numero di valori ottenibili da un bit (1 e 0) e 8 rappresenta la risoluzione del nostro convertitore. Un convertitore a 10 bit, ad esempio, avrà una risoluzione massima di 1024 livelli (2^10).

Torniamo al nostro convertitore ad 8 bit. Se campioniamo una tensione di 5V, avremo in uscita dal convertitore un valore decimale di 255 (1111 1111 binario). Una tensione di 2,5V darà un valore di 127 (0111 1111 binario) e via dicendo.

Se dividiamo i nostri 5V per 256 (valori massimi ottenibili da un A/D ad 8 bit) avremo che ogni bit restituito equivale ad una tensione di 0,0195V. In questo modo potremo manipolare il valore di una tensione e far fare tutte le operazioni possibili al micro. Per calcolare il valore di tensione letto dal nostro convertitore A/D, basterà moltiplicare il valore da esso restituito e moltiplicarlo per 0,0195V.

Es.
- A/D 8 bit;
- Valore restituito dal convertitore A/D = 0110 0010 (valore decimale 98)
- Tensione letta = ((5/256)x98) = 1,914V
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

Last edited by IZ0GIF; 22-02-13 at 14:43.
IZ0GIF non  è collegato   Reply With Quote
Old 22-02-13, 12:00   #5
I5SPO
Senior Member
 
I5SPO's Avatar
 
Join Date: Aug 2007
Location: Prato
Posts: 192
Re: Microcontrollore... che animale è?

Ciao,

c'è un refuso...

V = (( 5/256)x98) = 1,914 se non ho preso un granchio colossale.

73, Piero
I5SPO non  è collegato   Reply With Quote
Old 22-02-13, 12:46   #6
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Quote:
Originally Posted by I5SPO View Post
Ciao,

c'è un refuso...

V = (( 5/256)x98) = 1,914 se non ho preso un granchio colossale.

73, Piero
Ciao Piero,
sistemato, grazie
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

Last edited by IZ0GIF; 22-02-13 at 14:45.
IZ0GIF non  è collegato   Reply With Quote
Old 22-02-13, 13:02   #7
iw1arb
Senior Member
 
Join Date: Jul 2009
Posts: 127
Re: Microcontrollore... che animale è?

quando ero ''giovane'' ho scritto diversi software in assembler x il 6502..

bei tempi..
73 arb
iw1arb non  è collegato   Reply With Quote
Old 27-02-13, 16:12   #8
iw5eij
Senior Member
 
iw5eij's Avatar
 
Join Date: May 2009
Location: JN53ps
Posts: 593
Re: Microcontrollore... che animale è?

arrivato caldo caldo dalla baya (via G land)... e mo'?
Scarico il sw per programmare & compilare direi, quale consigli?

pse k
Attached Thumbnails
Click image for larger version

Name:	harduino.jpg
Views:	197
Size:	24.4 KB
ID:	9637  
__________________
little pistol station op. Leo - stazione Yaesuita
IW5EIJ's website


ARI Firenze


Radio what's new?
Radio, someone still loves you


de IW5EIJ / KK6TIF
iw5eij non  è collegato   Reply With Quote
Old 27-02-13, 17:15   #9
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Ciao Leo,
intanto scaricati il software:
http://arduino.cc/en/Main/Software

Se non sei pratico del linguaggio di programmazione, inizia con le cose semplici e prendi come riferimento la lista dei comandi http://arduino.cc/en/Reference/HomePage

Quì c'è un ottimo corso per iniziare:
http://www.mauroalfieri.it/corso-arduino

Inizia a prendere confidenza con i comandi e prova a scrivere il tuo primo sketch, tipo quello di accendere e spegnere un led.

Quando connetterai la scheda al pc, non verrà riconosciuta. I drivers li trovi dentro la cartella di Arduino. Se hai problemi, fai un fischio.

Sto preparando un po di materiale, probabilmente domani lo pubblico sul forum.
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

Last edited by IZ0GIF; 27-02-13 at 17:50.
IZ0GIF non  è collegato   Reply With Quote
Old 27-02-13, 21:27   #10
iw5eij
Senior Member
 
iw5eij's Avatar
 
Join Date: May 2009
Location: JN53ps
Posts: 593
Re: Microcontrollore... che animale è?

Tenk iù very grazie!

Fai con calma, come vedi non l'ho neppure sballato, solo aperto la busta per veder se c'era davvero HI
La cosa mi attrae ma il tempo scarseggia... e prima nel buffer (fifo) c'è da tarare il XV per i 70MHz
__________________
little pistol station op. Leo - stazione Yaesuita
IW5EIJ's website


ARI Firenze


Radio what's new?
Radio, someone still loves you


de IW5EIJ / KK6TIF
iw5eij non  è collegato   Reply With Quote
Old 27-02-13, 22:52   #11
i4ewh
Moderator
 
i4ewh's Avatar
 
Join Date: Aug 2007
Posts: 4,017
Re: Microcontrollore... che animale è?

Nel dubbio vi informo che leggo avidamente, anche se non sarò mai in grado di controllare un DDS. Però mi piace.

Paolo I4EWH
__________________
http://i4ewh.altervista.org
i4ewh non  è collegato   Reply With Quote
Old 28-02-13, 00:20   #12
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Paolo,
sarai la mia sfida personale
Non mi arrenderò finchè non ti vedrò girare un encoder per cambiare frequenza al DDS!!!
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.
IZ0GIF non  è collegato   Reply With Quote
Old 28-02-13, 08:45   #13
I5SPO
Senior Member
 
I5SPO's Avatar
 
Join Date: Aug 2007
Location: Prato
Posts: 192
Re: Microcontrollore... che animale è?

Quote:
Originally Posted by IZ0GIF View Post
Paolo,
sarai la mia sfida personale
Non mi arrenderò finchè non ti vedrò girare un encoder per cambiare frequenza al DDS!!!
Mimmo,
digli che si può anche accordare un lineare usando un Arduino, e vedrai Paolo che si butta ad imparare !

Naturalmente, lineare da 5 KW out ... hi

Ciao,
Piero.
I5SPO non  è collegato   Reply With Quote
Old 28-02-13, 08:59   #14
i4ewh
Moderator
 
i4ewh's Avatar
 
Join Date: Aug 2007
Posts: 4,017
Re: Microcontrollore... che animale è?

Se vi piace il Sangiovese di Romagna sono disposto a offrire da bere molto volentieri!

Paolo I4EWH
__________________
http://i4ewh.altervista.org
i4ewh non  è collegato   Reply With Quote
Old 28-02-13, 12:09   #15
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

PORTE DIGITALI
Per interfacciarsi al mondo esterno, i microcontrollori hanno a disposizione delle porte digitali in grado di essere configurate come ingressi o come uscite. Il livello logico usato da queste porte è del tipo TTL, ovvero 0 (GND) per il livello basso e +5V per il livello alto.

Il livello logico alto (+5V) è in grado di fornire una corrente molto piccola, parliamo dell’ordine di 30-40 mA. Se si superano tali valori, la porta sarà irrimediabilmente compromessa. Quindi, se vogliamo alimentare un led o un’altra porta digitale, non avremo nessun problema ma se vogliamo alimentare un relè, allora dobbiamo per forza di cose interporre un piccolo transistor di segnale.

La configurazione delle porte va dichiarata nel SETUP del programma ma all’occorrenza possono essere riconfigurate durante l’uso. Le porte solitamente sono raggruppate in banchi da 8 (le porta sono numerate da 0 a 7) e generalmente sono contrassegnate da lettere tipo A, B, C, ecc. Possiamo “leggere” e “scrivere” lo stato di ogni singola porta o di un banco intero tramite comandi software a seconda delle nostre esigenze.

Ad esempio, posso leggere lo stato della porta A1 ottenendo un singolo bit di risposta, ovvero uno o zero (equivalente allo stato vero o falso). Posso altresì leggere lo stato di un intero banco ottenendo come risposta un numero binario compreso tra 00000000 e 11111111. Ancora, possiamo leggere lo stato di alcuni gruppi di porte, tipo, i primi quattro bit della porta A oppure gli ultimi tre o ancora i quattro centrali ecc.

Nell’immagine allegata potete farvi un’idea di come sono suddivise le porte del microcontrollore che equipaggia la scheda Arduino UNO.
Attached Thumbnails
Click image for larger version

Name:	atmega328-arduino-pinout.jpg
Views:	267
Size:	31.7 KB
ID:	9642  
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.
IZ0GIF non  è collegato   Reply With Quote
Old 28-02-13, 19:42   #16
IK0VVE
Senior Member
 
IK0VVE's Avatar
 
Join Date: Dec 2007
Location: Latina
Posts: 593
Re: Microcontrollore... che animale è?

Grande Mimmo!

Da qualche giorno mi è arrivato il Mega con l'espansione ethernet/sd...
ti seguo...
__________________
73 de IK0VVE Max
www.ik0vve.net
IK0VVE non  è collegato   Reply With Quote
Old 28-02-13, 21:01   #17
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

PIERO:
solo un accordatore? ed i cambi banda? e le protezioni?
..... ma tanto a Paolo non interessano queste cose....

MAX:
sono in attesa anche io della scheda ethernet e dei moduli wifi. La pentola bolle e pure forte
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.
IZ0GIF non  è collegato   Reply With Quote
Old 28-02-13, 22:16   #18
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

GLI INTERRUPTS

Cosa sono gli interrupts? Come dice la parola stessa, sono delle interruzioni al programma principale causate da eventi che noi possiamo sia impostare che gestire. In pratica, al verificarsi di un evento, il programma si ferma e va ad eseguire una porzione di codice che noi abbiamo prestabilito, per poi ritornare alla normale prosecuzione del programma principale.

Un esempio? Vado in macchina da A a B. Se si accende la spia della riserva, la macchina si dirige automaticamente al distributore escludendo qualsiasi controllo da parte del conducente. Il tratto A-B è il programma principale, l’accensione della spia della riserva è l’interrupt, il dirigersi forzatamente al distributore è la gestione dell’interrupt o Interrupt Service Routine (ISR).

Chi rileva gli eventi? Sulla scheda Arduino UNO, ci sono due porte che oltre alle normali funzioni di I/O digitali svolgono anche le funzioni di interrupt e sono le porte 2 e 3 (interrupt 0 e 1). Gli eventi che queste porte possono gestire sono:
- Rilevazione di un fronte di salita. Rleva se il pin passa dal livello logico basso (massa) al livello logico alto (+5V)
- Rilevazione di un fronte di discesa. Rileva se il pin passa dal livello logico alto (+5V) al livello logico basso (massa)
- Rilevazione cambio stato. Rileva se il pin passa dal livello logico alto al livello logico basso o viceversa.
- Rilevazione livello logico basso. Rileva se il pin è a livello logico basso (massa)

L’interrupt è prioritario, ovvero, quando questo si verifica, il micro si “auto-esclude” dal mondo e si occupa di eseguire solamente la porzione di codice che noi gli abbiamo dedicato (ISR).
Vediamo un esempio


void setup()
{
pinMode(13, OUTPUT); // pin 13 impostato come uscita. Su questo pin è collegato il led onboard alla scheda Arduino
attachInterrupt(0, blink, CHANGE); // abilita l’interrupt sul pin 2, esegue il codice nella subroutine “blink” quando il pin 2 cambia stato
}

void loop()
{
digitalWrite(13,HIGH); // accendo il led sul pin 13
}

void blink()
{
detachInterrupt(0); // disabilito l’interrupt sul pin 2 per evitare altre rilevazioni mentre eseguo il codice seguente
digitalWrite(13,HIGH); // spengo il led
delay(1000); // aspetto un secondo
attachInterrupt(0, blink, CHANGE); // riabilito l’interrupt
}
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.
IZ0GIF non  è collegato   Reply With Quote
Old 28-02-13, 22:34   #19
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Per chi ancora non ci cava il ragno dal buco, cosa c'entra tutto questo con il mondo Ham?

Facciamo un resoconto.
Abbiamo visto come far misurare una tensione al micro. Se prendiamo la tensione che va allo strumento di un rosmetro e la mandiamo al nostro convertitore A/D, possiamo farci un bel roswattmetro digitale. Basta collegare un display alla scheda Arduino, fare i soliti calcoli del ROS (usando Vr e Vf) e visualizzare il tutto sul display. (vedremo come)

Abbiamo visto cosa sono le porte digitali, quindi spazio alla fantasia per accendere/azionare/indicare qualsiasi cosa ci venga in mente.

Abbiamo visto gli interrupts, possiamo costruirci una console SO2R gestendo le due radio e dando la priorità a quella che trasmette per prima, disabilitando la trasmissione della seconda.

Avanti con le idee e trasformiamole in realtà!!!
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.
IZ0GIF non  è collegato   Reply With Quote
Old 28-02-13, 22:45   #20
iw0hjz
Member
 
Join Date: Feb 2013
Posts: 12
Re: Microcontrollore... che animale è?

Salve a tutti, seguo con interesse i vostri interventi...nel frattempo mi sono messo in testa di dotare il generatore della funzione sweep per provare a fare qualche misura su filtri, linee,ecc. certo con l'accuratezza che il dds mi consetirebbe..
per fare questo sto cercando di capire come far caricare al micro il suo bel programmino (sketch) modificando il bootloader in modo che da menu mi carichi uno o l'altro dei programmi( sweep/generatore).
Un solo micro per diverse funzioni,proprio separate tra loro....vediamo sono in modalita' apprendimento.
Per l'ethernet e il wifi io ho risolto con la scheda w5100, il classico per arduino, e un adattatore netgear, che ho preso in rete e che si chiama wince2001 ,universal wifi internet adapter, completamente trasparente per arduino....e' come avere la rete cablata per lui....veloce e grande come arduino alimentato con usb.....non costava di piuì della scheda wifi di arduino.
Grazie a tutti
saluti alberto
iw0hjz non  è collegato   Reply With Quote
Old 01-03-13, 00:35   #21
I5SPO
Senior Member
 
I5SPO's Avatar
 
Join Date: Aug 2007
Location: Prato
Posts: 192
Re: Microcontrollore... che animale è?

Quote:
Originally Posted by IZ0GIF View Post
GLI INTERRUPTS

Cosa sono gli interrupts? Come dice la parola stessa, sono delle interruzioni al programma principale causate da eventi che noi possiamo sia impostare che gestire. In pratica, al verificarsi di un evento, il programma si ferma e va ad eseguire una porzione di codice che noi abbiamo prestabilito, per poi ritornare alla normale prosecuzione del programma principale.

Un esempio? Vado in macchina da A a B. Se si accende la spia della riserva, la macchina si dirige automaticamente al distributore escludendo qualsiasi controllo da parte del conducente. Il tratto A-B è il programma principale, l’accensione della spia della riserva è l’interrupt, il dirigersi forzatamente al distributore è la gestione dell’interrupt o Interrupt Service Routine (ISR).

Chi rileva gli eventi? Sulla scheda Arduino UNO, ci sono due porte che oltre alle normali funzioni di I/O digitali svolgono anche le funzioni di interrupt e sono le porte 2 e 3 (interrupt 0 e 1). Gli eventi che queste porte possono gestire sono:
- Rilevazione di un fronte di salita. Rleva se il pin passa dal livello logico basso (massa) al livello logico alto (+5V)
- Rilevazione di un fronte di discesa. Rileva se il pin passa dal livello logico alto (+5V) al livello logico basso (massa)
- Rilevazione cambio stato. Rileva se il pin passa dal livello logico alto al livello logico basso o viceversa.
- Rilevazione livello logico basso. Rileva se il pin è a livello logico basso (massa)

L’interrupt è prioritario, ovvero, quando questo si verifica, il micro si “auto-esclude” dal mondo e si occupa di eseguire solamente la porzione di codice che noi gli abbiamo dedicato (ISR).
Ciao, penso che ci sia una "gerarchia degli interrupt", vero ? Quanto meno almeno due livelli, gli interrupt utente e quelli di sistema, che hanno precedenza su quelli programmati dall'utente.

Caso tipico e' il "battito cardiaco" del micro, a.k.a. il CLOCK
Esiste un modo ( es: registro/i ? ) per configurare gli interrupt da eseguire e la priorita' ?

( Questa domanda mi viene fuori dal modo con cui si gestiscono gli interrupt nella famiglia di CPU Intel. )
Altra riflessione ad alta voce: e' una programmazione NON "concurrent" e interrupt driven sequenziale. Scusa se posso aver scritto imprecisioni o errori.

Grazie per i tuoi sforzi per farmi/farci capire qualcosa in questo campo interessante.

73, Piero.
I5SPO non  è collegato   Reply With Quote
Old 01-03-13, 04:10   #22
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Ciao Piero,
ovviamente si.
Mi sono limitato a riportare solamente gli interrupt gestiti dai comandi standard di Arduino, quindi essendo solo quelli sullo stato di sole due porte (Arduino UNO), la priorità in questo caso è solo una e solo quella.
Se vuoi approfondire la questione, dai un'occhiata al datasheet dell'AtMega 328 da pag. 57 in poi. C'è proprio quello che cerchi, compresa la lista degli interrupts, delle priorità e dei registri di gestione.

Questi ragnetti ovviamente sono semplici macchine sequenziali, monotasking ed assolutamente NON concurrent.
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

Last edited by IZ0GIF; 01-03-13 at 04:29.
IZ0GIF non  è collegato   Reply With Quote
Old 01-03-13, 21:15   #23
I5SPO
Senior Member
 
I5SPO's Avatar
 
Join Date: Aug 2007
Location: Prato
Posts: 192
Re: Microcontrollore... che animale è?

Quote:
Originally Posted by IZ0GIF View Post
Ciao Piero,
...

Se vuoi approfondire la questione, dai un'occhiata al datasheet dell'AtMega 328 da pag. 57 in poi. C'è proprio quello che cerchi, compresa la lista degli interrupts, delle priorità e dei registri di gestione.

...
Mimmo, almeno avvertimi che il datasheet del 328 ha oltre 400 pagine !!!

Mi son dovuto prendere 2 pillole per il mal di testa e due bustine di digestivo, hi !

Beh, sto scherzando ( ma non troppo ). A proposito, ho visto gli snippet in assembler e C degli esempi, fortunatamente riesco ancora ad interpretarli. Quale assembler e compilatore C sono quelli standard ? Sono gratuiti o a pagamento ?

Considero il C come "assembler portabile con macro" tra l'infinita' di CPU esistenti, molti pero' dissentono da questa mia personale convinzione, ma altrimenti non saprei come classificare il C ( non il C++ ! ).

Aspetto con curiosita' ed impazienza le successive puntate del tuo corso, riesci a implementarle in modo semplice ed immediatamente comprensibile, come t'invidio questa dote !

Ancora grazie, Piero.
I5SPO non  è collegato   Reply With Quote
Old 01-03-13, 22:28   #24
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Ciao Piero e grazie per i complimenti. Sono contento che quanto spiegato sia comprensibile.

Il datasheet?
Pensa che me lo sono spulciato tutto. Purtroppo, se vuoi conoscere a fondo con cosa hai a che fare e come poterlo gestire totalmente a prescindere da quei quattro comandi resi disponibili dall'ambiente di sviluppo attuale, devi per forza di cose leggerlo.

Per il compilatore/assembler, le schede Arduino usano uno pseudo C riadattato, nulla di trascendentale. Il programma è free ed è scaricabile quì:
http://arduino.cc/en/Main/Software

mentre il reference dei comandi lo trovi quì:
http://arduino.cc/en/Reference/HomePage

Un altro paio di "appuntamenti" e poi passiamo a fare qualcosa di materiale.
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.
IZ0GIF non  è collegato   Reply With Quote
Old 02-03-13, 00:29   #25
IZ0IEN
Moderator
 
IZ0IEN's Avatar
 
Join Date: Nov 2008
Location: Frosinone JN61sp
Posts: 1,695
Re: Microcontrollore... che animale è?

Quote:
Originally Posted by IZ0GIF View Post
Ciao Piero e grazie per i complimenti. Sono contento che quanto spiegato sia comprensibile.
Intervengo solo per qualche considerazione di sponda, dato che non è prettamente il mio campo, ma lo è, appunto, di sponda.

Arduino oggi è come il CW. Ostico, difficile capire da zero il linguaggio e il funzionamento, ma - credetemi - è l'ultima occasione che avete per rivivere il trentennio passato dove nulla era plug&play e le logiche AND, NOT, OR si facevano saldando diodi in maniera differente.
E' l'ultima occasione in giro a prezzi abbordabili che vi faccia veramente capire il meraviglioso punto dove l'analogico è un tutt'uno col digitale.

Non fatevi intimorire, non tralasciate quanto scrive GIF pensando che sia inutile. Dietro tutte le vostre luccicanti radio, dietro i vostri iphone, dietro le vostre mille cose elettroniche che usate ogni giorno, alla fine c'è una sequenza di 0 e di 1 ne più ne meno come in Arduino.

E dopo essere andato OT meglio di un traliccio da 60 metri, i complimenti a Mimmo. Stay foolish, stay hungry, ma a me mi si addice più la seconda (frigo rulez)

Cris IZ0IEN
IZ0IEN non  è collegato   Reply With Quote
Old 03-03-13, 01:27   #26
i4zsq
Senior Member
 
i4zsq's Avatar
 
Join Date: Oct 2008
Location: Bologna per lo più... ogni tanto portatile SP8-Polonia .
Posts: 5,131
Cool Re: Microcontrollore... che animale è?

Quote:
Originally Posted by IZ0IEN View Post
Intervengo solo per qualche considerazione di sponda, dato che non è prettamente il mio campo, ma lo è, appunto, di sponda....
E' l'ultima occasione in giro a prezzi abbordabili che vi faccia veramente capire il meraviglioso punto dove l'analogico è un tutt'uno col digitale.
Non fatevi intimorire, non tralasciate quanto scrive GIF pensando che sia inutile. Dietro tutte le vostre luccicanti radio, dietro i vostri iphone, dietro le vostre mille cose elettroniche che usate ogni giorno, alla fine c'è una sequenza di 0 e di 1 ne più ne meno come in Arduino.
Cris IZ0IEN
Non facciamoci intimorire da queste tecnologie, ma stiamo comunque attenti....
http://www.ftdichip.com/Products/Modules/DevelopmentModules.htm#Vin****
just got hold of FTDI chip’s new Vin**** developing platform, so here’s a quick review for you!

Vin**** is a 25€ development platform for the FTDI Vinculum II (VNC2) dual USB host/slave microcontroller. The board design has been copied from Arduino, and they even advertise it as Arduino-inspired and Arduino shield compatible. FTDI seems to have realized the potential that comes when having a large hobbyist userbase…
Attached Thumbnails
Click image for larger version

Name:	Vin****_ARDUINO W490.jpg
Views:	269
Size:	39.2 KB
ID:	9678  
__________________
I4ZSQ Silvano
i4zsq è  collegato   Reply With Quote
Old 03-03-13, 09:19   #27
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Di schede clone ce ne sono a bizzeffe, Tosduino, Goduino, Eleven UNO ecc.

Silvano, riguardo al nome della scheda della FTDI, l'accento va sulla "i" o sulla "u"?
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.
IZ0GIF non  è collegato   Reply With Quote
Old 03-03-13, 10:31   #28
IK7JWY
Senior Member
 
IK7JWY's Avatar
 
Join Date: Aug 2007
Location: Alezio-LE-
Posts: 4,498
Re: Microcontrollore... che animale è?

e va bene, mi sa che devo comprare anche io l'Arduino mega.
Sto seguendo con molto interesse questa discussione. Sinora unica mia esperienza di programmazione, quella con basic ormai 25 anni fa ai tempi dell'università per fare programmi di calcolo strutturale. Non dovrebbe comunque essere impossibile arrivare a scrivere del codice anche per Arduino.
__________________
73 de IK7JWY Art : "You don't need FT8 /FT4 to hear me in HF, I'm not a pulsar."
https://www.qrz.com/db/IK7JWY
(www.infinitoteatrodelcosmo.it)
IK7JWY non  è collegato   Reply With Quote
Old 03-03-13, 11:13   #29
I5SPO
Senior Member
 
I5SPO's Avatar
 
Join Date: Aug 2007
Location: Prato
Posts: 192
Re: Microcontrollore... che animale è?

Quote:
Originally Posted by IZ0IEN View Post
...

E dopo essere andato OT meglio di un traliccio da 60 metri, i complimenti a Mimmo. Stay foolish, stay hungry, ma a me mi si addice più la seconda (frigo rulez)

Cris IZ0IEN
Ciao Cris,

vado anch'io OT, Jobs ha avuto tantissimo merito nel campo computer innovativi, ma... vorrei ricordare chi materialmente, ha iniziato tutto, Wozniak,che realizzò il primo computer, poi diventato il Mac !

Per lo "stay hungry" consolati, anche a me si addice...

A proposito, nell'ultimo numero di RadioKitElettronica, a pag.73, nella foto, sono il secondo da destra, quindi ... giudica come lo "stay hungry" mi si addice !

73 a tutti,
Piero.
I5SPO non  è collegato   Reply With Quote
Old 07-03-13, 09:28   #30
iw5eij
Senior Member
 
iw5eij's Avatar
 
Join Date: May 2009
Location: JN53ps
Posts: 593
Re: Microcontrollore... che animale è?

Un libro mooolto interessante... peccato ancora non è in versione e-book e spedirlo costa un botto
HAM RADIO FOR ARDUINO...
__________________
little pistol station op. Leo - stazione Yaesuita
IW5EIJ's website


ARI Firenze


Radio what's new?
Radio, someone still loves you


de IW5EIJ / KK6TIF
iw5eij non  è collegato   Reply With Quote
Old 07-03-13, 14:01   #31
IZ0GIF
Senior Member
 
IZ0GIF's Avatar
 
Join Date: Sep 2008
Posts: 247
Re: Microcontrollore... che animale è?

Quote:
Originally Posted by iw5eij View Post
Un libro mooolto interessante... peccato ancora non è in versione e-book e spedirlo costa un botto
HAM RADIO FOR ARDUINO...
Se volete "qualcosa" da leggere, mandatemi una mail.... ho del materiale che non è possibile allegare...
__________________
73 de IZ0GIF - Mimmo

www.iz0gif.it

La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.
IZ0GIF non  è collegato   Reply With Quote
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 07:21.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.