Elettronicamente.com
La risorsa Italiana per l'elettronica
e l'informatica applicata all'elettronica
  Sponsor
|Home| |Registrazione| |Login| |Disclaimer| |Contattaci| |Guida| |FAQs|
|Download| |Forum| |Links| |MySite|
Cerca in Elettronicamente:
 
I numeri di Elettronicamente.com:
  Iscritti: 12853
  Risorse On-Line: 508
  Links su siti di elettronica: 1304
  Sei il visitatore numero 1171359
Login non eseguito
Descrizione
ID #709  Tutorials
Propeller P8X32A - Parte 3 - Esercizio#6   07/03/2009
In questo esercizio verrà descritto come creare dei propri oggetti da utilizzare nei programmi in linguaggio SPIN.
Difficoltà:
Difficoltà di realizzazione o apprendimento. 2 stella/e.

Voto:
n.d.
Voto attuale (1/10) calcolato in base alla media delle votazioni di tutti gli iscritti che hanno votato questa risorsa.

Autore:
atomix
Autore della risorsa:atomix
HTML:
In questa casella viene indicato se è disponibile una pagina web da visualizzare.
File:
No
Allegato disponibile:
In questa casella viene indicato se è disponibile un file da scaricare.

Crediti Virtuali:
Free
Crediti virtuali necessari per scaricare il file allegato:0

Status:
ONLINE
Partecipa al FORUM di Elettronicamente.com per questo argomento.

 

Esercizio# 6 - Creare un proprio oggetto - Output.spin & Blinker1.spin

Gli esercizi finora descritti fanno riferimento ad un solo oggetto, ovvero lo stesso file che contiene il programma da eseguire (output.spin) il quale rappresenta l'intera applicazione. Supponiamo ora di voler creare un oggetto che possa dare la possibilità ad un altro sviluppatore, di far lampeggiare dei led nella sua applicazione richiamando semplicemente il nostro file. STEP1: Modifichiamo il file OUTPUT.SPIN come segue, ovvero lasciando solo il metodo TOGGLE e aggiungendo un nuovo metodo START che ha il compito di lanciare un nuovo cog quando serve.
 

{{Output.spin

Oggetto che lancia un nuovo cog ed esegue il lampeggio.}} 

VAR 

   long Stack[9] ' Dimensione delle stack per il nuovo cog
 

PUB Start(Pin, Delay, Count) 

   cognew(Toggle(Pin, Delay, Count), @Stack) 'Lancia il nuovo cog
 

PUB Toggle(Pin, Delay, Count) 

   {{Inverti lo stato del Pin tante volte quanto indicato in Count, e
   attendi il tempo Delay tra una inversione e l'altra.}}

   dira[Pin]~~ ' Imposta il registro di direzione
   repeat Count ' Ripeti tante volte quanto in Count
         !outa[Pin] ' Inverti lo stato logico del Pin
         waitcnt(Delay + cnt) ' Attendi i cicli indicati in Delay 

 


STEP2:
Creiamo un nuovo file BLINKER1.SPIN il quale sarà il "TOP OBJECT FILE" per il nostro progetto, contenente il codice di seguito riportato:
 

{{Blinker1.spin

Avvia un nuovo cog ed esegue i lampeggi.}} 

OBJ

   LED: "Output" 

PUB Main 

   LED.Start(16, 3_000_000, 10)  'Avvia il secondo cog ed esegui lampeggio
                                 'del pin16 (10volte)
      LED.Toggle(17, 2_000_000, 20) 'Lampeggio pin 17 (20 volte)

 

 

L'applicazione principale si è ora ridotta notevolmente perché gran parte del codice è stato riportato nel file oggetto OUTPUT.SPIN. Nel file BLINKER1.SPIN richiamiamo il file oggetto OUTPUT.SPIN assegnandogli un nome (label) sotto il gruppo OBJ (LED: "Output"). Ora nel metodo che viene eseguito all'avvio (Main) viene richiamato ed eseguito il primo metodo (Start) dell'oggetto LED. In un programma scritto in SPIN, gli oggetti vengono dichiarati e inclusi nel progetto sotto il gruppo di istruzioni OBJ. Successivamente devono essere richiamati utilizzando la sintassi oggetto.metodo dove "oggetto" è il nome che è stato assegnato (sezione OBJ), che nel nostro esempio è "LED", il metodo è il nome del metodo da eseguire all'interno dell'oggetto (nell'esempio Start e Toggle). 

Compilare ed eseguire questo programma è possibile farlo in due modi:

  • 1) Premere [F10] sul file BLINKER1.SPIN che corrisponde alla compilazione del file correntemente aperto e visualizzato (questo include automaticamente la compilazione anche di OUTPUT.SPIN perché necessario e richiamato da BLINKER1.SPIN),
  • 2) l'impostazione del file BLINKER1.SPIN come "Top Object File" e premere [CTRL+F10]. Se per errore compilate solo il file OUTPUT.SPIN con [F10], nel caso dell'esempio non produrrà alcun effetto, perché verrà eseguito per primo il metodo Start contenuto all'interno di OUTPUT.SPIN, ma senza direttive sul numero di pin e altri parametri necessari.

 

Parte 3 - Esercizio#5 Indice Parte 3 - Esercizio#7


 

 
Cod.33210
Sistema di sviluppo molto compatto per il chip Propeller P8X32A-M44 con interfaccia USB utilizzabile anche come modulo per i prototipi.
Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1629
Acquista ora questo prodotto su

a € 80.10
+iva
invece di € 89.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.32311

Kit accessori Propeller: Mini Tastiera (PS/2), Mouse ottico (PS/2), LCD 2.5"

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1153
Acquista ora questo prodotto su

a € 125.10
+iva
invece di € 139.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.32300

Scheda di sviluppo per Propeller, con programmatore USB

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1160
Acquista ora questo prodotto su

a € 103.50+iva

invece di € 115.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.P8X32A-D40

Microprocessore Propeller DIL 40 P8X32A-40

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1149
Acquista ora questo prodotto su

a € 8.01
+iva
invece di € 8.90+iva
RISPARMI IL 10%

Q.ta
 
Cod.ESP8X32A-Q44

Microprocessore Propeller QFTP P8X32A-Q44

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1150
Acquista ora questo prodotto su

a € 8.01+
iva
invece di € 8.90+iva
RISPARMI IL 10%

Q.ta
 
Cod.ES122-32000

Manuale tecnico del microcontrollore Propeller

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1163
Acquista ora questo prodotto su

a € 35.10
+iva
invece di € 39.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.3ES32111

Propeller Professional Development Board
Board di sviluppo professionale per Propeller

Documentazione: [Link]
Schema elettrico: [Link]
Acquista ora questo prodotto su

a € 170.55
+iva
invece di € 189.50+iva
RISPARMI IL 10%

Q.ta
 
Cod.ES32212

E' una scheda millefori con dimensioni 8x10 cm, con incluso un Propeller gia' saldato, la Eeprom da 64 KB, l'alimentatore a 5 e 3,3 volt, una zona predisposta per il montaggio del connettore VGA e quelli per mouse e tastiera


Acquista ora questo prodotto su

a € 31.50
+iva
invece di € 35.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.130-32212



Componenti sciolti: tra cui un blocco (come nei PC) che contiene connettore VGA e due connettori PS2 e le resistenze per il collegamento al Propeller, che si sposano con la propeller Proto Board

Acquista ora questo prodotto su

a € 19.35+iva
invece di € 21.50+iva
RISPARMI IL 10%

Q.ta
 
Cod.32201

 

 

 E' l'adattatore USB/seriale per poter programmare il Parallax per mezzo della USB            

Acquista ora questo prodotto su

a € 26.55+iva
invece di € 29.50+iva
RISPARMI IL 10%

Q.ta
 
Cod.32305

 

Contiene un libro, il Prop Plug, una breadboard, un
Propeller a 40 pin e componenti sciolti, una scatola di plastica che contiene la breadboard e tutti i componenti sciolti

Acquista ora questo prodotto su

a € 103.50+iva
invece di € 115.00+iva
RISPARMI IL 10%

Q.ta
 
Cod.32100

Scheda di sviluppo per Propeller 44 pin QFP

Ulteriori info:
http://www.elettroshop.com/dettagli.asp?pid=1159
Acquista ora questo prodotto su

a € 80.55+iva

invece di € 89.50+iva
RISPARMI IL 10%

Q.ta
  Cloud
 Elettronicamente.com  PICmicro  RS232 FT232 P8X32A Parallax PIC16F84 Programmatore Elettronica PCB Circuito Stampato Fotoincisione Microchip PIC16F876 Linguaggio AVR Linux NE555 ARM HD44780 DISPLAY LCD Alimentatore XE164 Infineon LED Amplificatore Laboratorio Resistenza Condensatore Termometro PWM relazione
www.Elettronicamente.com
Utenti attualmente connessi:
(Nessuno)