Ma così non avrebbe neanche un minimo di feedback per sapere se il comando è stato almeno ... ascoltato.
Ripeto, non sono esperto di queste cose quindi ... boh?
Ovviamente fare e basta, indipendentemente che le cose vadano a buon fine o meno mi renderebbe la vita più semplice.
Utilizzare il Pierin con MatLab/SimuLink
35 messaggi
• Pagina 3 di 4 • 1, 2, 3, 4
0
voti
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
TardoFreak ha scritto:Ma così non avrebbe neanche un minimo di feedback per sapere se il comando è stato almeno ... ascoltato.
Ni, nel senso che chi fosse interessato a sapere se è stato ascoltato potrebbe fare una lettura di un opportuno registro di stato (e a tale richiesta ovviamente il micro dovrebbe rispondere).
It's a sin to write
instead of
(Anonimo).
...'cos you know that
ain't
, right?
You won't get a sexy tan if you write
in lieu of
.
Take a log for a fireplace, but don't take
for
arithm.
instead of
(Anonimo)....'cos you know that
ain't
, right?You won't get a sexy tan if you write
in lieu of
.Take a log for a fireplace, but don't take
for
arithm.-

DirtyDeeds
55,9k 7 11 13 - G.Master EY

- Messaggi: 7012
- Iscritto il: 13 apr 2010, 16:13
- Località: Somewhere in nowhere
0
voti
Grazie per il suggerimento. 

"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
3
voti
Dai anche un'occhiata al linguaggio SCPI che è quello comunemente impiegato per comunicare con gli strumenti, magari ti dà qualche spunto utile.
It's a sin to write
instead of
(Anonimo).
...'cos you know that
ain't
, right?
You won't get a sexy tan if you write
in lieu of
.
Take a log for a fireplace, but don't take
for
arithm.
instead of
(Anonimo)....'cos you know that
ain't
, right?You won't get a sexy tan if you write
in lieu of
.Take a log for a fireplace, but don't take
for
arithm.-

DirtyDeeds
55,9k 7 11 13 - G.Master EY

- Messaggi: 7012
- Iscritto il: 13 apr 2010, 16:13
- Località: Somewhere in nowhere
1
voti
Direi che oltre a Matlab e Mathematica, interessante sarebbe implementare qualcosa anche per SCILAB.
Parliamone.
Ciao.
Paolo.
P.S. Grande
TardoFreak! 
Parliamone.
Ciao.
Paolo.
P.S. Grande

"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-

Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 11:42
- Località: Vigevano (PV)
6
voti
Dunque...
ho fatto un piccolo package Mathematica per utilizzare il Pierin PIC18 all'interno di Mathematica.
Potete scaricarlo qui:
questo package non ha licenza.
Diciamo che è un regalo di buona fortuna per il mio amico
TardoFreak e per coloro i quali ha a cuore.
Potete:
Insomma fateci cosa vi pare.
Ahhh, il package è as is, quindi, sebbene io programmi molto male, se vi esplode il PC non è comunque colpa mia.
Cosa c'è al suo interno:
Il package contiene 5 funzioni (so far):
PierinOpen
Serve per aprire una porta seriale di comunicazione col Pierin.
Usatelo così:
ser=PierinOpen[porta]
dove porta è la seriale che intendo aprire.
ser è il delegato, in pratica è equivalente al vecchio fp nella istruzione fp=fopen del C.
ser vi servirà ogni volta che vorrete riferirvi a quella porta seriale.
Questo modo di operare è molto utile nel caso abbiate 2 o più PierinPIC18, potete infatti scrivere:
ser1=PierinOpen["COM1"]
ser2=PierinOpen["COM2"]
ser3=PierinOpen["COM3"]
e dialogare con 3 Pierin tutti insieme.
PierinClose
Serve per chiudere la comunicazione col Pierin.
Dovete chiudere la seriale quando finite di lavorarci, altrimenti il SO non rilascerà la risorsa e la porta
diventerà inutilizzabile finché non la chiuderete.
Usatelo così:
PierinClose[ser]
dove ser è il delegato rilasciato dalla PierinOpen.
PierinWrite
Serve per mandare una stringa al Pierin, per esempio un comando.
Usatelo così:
PierinWrite[ser,stringa]
dove ser è il delegato rilasciato dalla PierinOpen
Esempio:
PierinWrite[ser,"Hello PierinPIC18"]
PierinRead
Serve per leggere una stringa dal Pierin, per esempio la risposta ad un comando, svuotando il buffer accumulato.
Usatelo così:
stringa=PierinRead[ser]
dove ser è il delegato rilasciato dalla PierinOpen.
Esempio:
risposta=PierinRead[ser]
PierinBufferBytes
Serve per sapere quanto è lungo il buffer, in pratica quanti caratteri ha inviato il Pierin al PC.
Usatelo così:
intero=PierinBufferBytes[ser]
dove ser è il delegato rilasciato dalla PierinOpen.
Esempio:
buffer=PierinBufferBytes[ser]
__________________________________________________________________________________________
Vediamo un esempio di come farlo funzionare in Mathematica.
Come prima cosa dovete dire a Mathematica che intendete usare il pacchetto.
Mathematica cerca i pacchetti nel suo path e se non li trova vi da ovviamente errore.
Molti manuali di mathematica suggeriscono quindi di copiare il file dentro la cartella Extensions di Mathematica, cioè dove Mathematica ha un certo numero di (bei) pacchetti di espansione.
Io non vi consiglio di fare così, ma di aggiungere un percorso al path che punti ad una vostra cartella dove conservate tutti i vostri pacchetti.
usiamo quindi il comando:
AppendTo[$Path, "C:\\Users\\Pietro\\packages"];
Per aggiungere il vostro percorso al path di Mathematica.
Notate l'uso del doppio backslash \ come separatore di cartella .
Fate attenzione che Mathematica è case sensitive, sia nel nome dei comandi sia nel nome delle cartelle che formano il percorso.
Poi richiamiamo il pacchetto con il comando:
<< "PierinPIC18`"
possiamo quindi aprire la seriale con:
ser1 = PierinOpen["COM1"]
Non è detto che il vostro Pierin sia sulla COM1.
In windows potete vedere su quale COM è finito il Pierin andando su System e poi su Device Manager e guardare le COM presenti su Ports: COM & LPT.
mandiamo quindi un messaggio al Pierin con:
PierinWrite[ser1, "Hello PierinPIC18!"]
Se il Pierin è stato programmato con il programma fornito a corredo dell'articolo di
TardoFreak, vi restituirà indietro quanto ricevuto, quindi nel buffer dovrebbero esserci 18 caratteri. Possiamo verificarlo digitando:
PierinBufferBytes[ser1]
che dovrebbe restituire 18.
Leggiamoli con:
PierinRead[ser1]
Chiudiamo quindi la porta con:
PierinClose[ser1]
Per utilizzare il pacchetto dovete installare .NET sul vostro PC.
Se volete approfondire pacchetti ed estensioni di Mathematica andate a questo link, ci sono un bel po' di manuali. Potete comprarli su carta o scaricarli gratis come pdf.
Se invece volete imparare i fondamenti di Mathematica vi consiglio il sacro testo
Stephen Wolfram The MATHEMATICA Book Wolfram Media ISBN: 1-57955-004-5
oppure se non volete spendere e volete un testo introduttivo potete scaricarvi gratis e legalmente questo libro, messo a disposizione dalla McGraw. E' un testo vecchio, ma per cominciare va bene.
Se invece vi piace MATLAB e volete collegargli Mathematica (e magari il mio package e il Pierin) potete scaricare il buon vecchio MATLink.
Segnalatemi errori e amenità varie!
Ciao da Pietro.
PS: ecco il codice del programma di esempio:
EDIT: dimenticavo. Se non vi ricordate la sintassi di un comando potete usare il punto interrogativo.
Per esempio:
? PierinWrite
restituisce
ho fatto un piccolo package Mathematica per utilizzare il Pierin PIC18 all'interno di Mathematica.
Potete scaricarlo qui:
questo package non ha licenza.
Diciamo che è un regalo di buona fortuna per il mio amico
Potete:
- scaricarlo
- usarlo
- modificarlo
- spacciarlo per vostro
- venderlo e farci i soldi (non credo)
- stamparlo e farci un aeroplanino di carta
Insomma fateci cosa vi pare.
Ahhh, il package è as is, quindi, sebbene io programmi molto male, se vi esplode il PC non è comunque colpa mia.
Cosa c'è al suo interno:
Il package contiene 5 funzioni (so far):
PierinOpen
Serve per aprire una porta seriale di comunicazione col Pierin.
Usatelo così:
ser=PierinOpen[porta]
dove porta è la seriale che intendo aprire.
ser è il delegato, in pratica è equivalente al vecchio fp nella istruzione fp=fopen del C.
ser vi servirà ogni volta che vorrete riferirvi a quella porta seriale.
Questo modo di operare è molto utile nel caso abbiate 2 o più PierinPIC18, potete infatti scrivere:
ser1=PierinOpen["COM1"]
ser2=PierinOpen["COM2"]
ser3=PierinOpen["COM3"]
e dialogare con 3 Pierin tutti insieme.
PierinClose
Serve per chiudere la comunicazione col Pierin.
Dovete chiudere la seriale quando finite di lavorarci, altrimenti il SO non rilascerà la risorsa e la porta
diventerà inutilizzabile finché non la chiuderete.
Usatelo così:
PierinClose[ser]
dove ser è il delegato rilasciato dalla PierinOpen.
PierinWrite
Serve per mandare una stringa al Pierin, per esempio un comando.
Usatelo così:
PierinWrite[ser,stringa]
dove ser è il delegato rilasciato dalla PierinOpen
Esempio:
PierinWrite[ser,"Hello PierinPIC18"]
PierinRead
Serve per leggere una stringa dal Pierin, per esempio la risposta ad un comando, svuotando il buffer accumulato.
Usatelo così:
stringa=PierinRead[ser]
dove ser è il delegato rilasciato dalla PierinOpen.
Esempio:
risposta=PierinRead[ser]
PierinBufferBytes
Serve per sapere quanto è lungo il buffer, in pratica quanti caratteri ha inviato il Pierin al PC.
Usatelo così:
intero=PierinBufferBytes[ser]
dove ser è il delegato rilasciato dalla PierinOpen.
Esempio:
buffer=PierinBufferBytes[ser]
__________________________________________________________________________________________
Vediamo un esempio di come farlo funzionare in Mathematica.
Come prima cosa dovete dire a Mathematica che intendete usare il pacchetto.
Mathematica cerca i pacchetti nel suo path e se non li trova vi da ovviamente errore.
Molti manuali di mathematica suggeriscono quindi di copiare il file dentro la cartella Extensions di Mathematica, cioè dove Mathematica ha un certo numero di (bei) pacchetti di espansione.
Io non vi consiglio di fare così, ma di aggiungere un percorso al path che punti ad una vostra cartella dove conservate tutti i vostri pacchetti.
usiamo quindi il comando:
AppendTo[$Path, "C:\\Users\\Pietro\\packages"];
Per aggiungere il vostro percorso al path di Mathematica.
Notate l'uso del doppio backslash \ come separatore di cartella .
Fate attenzione che Mathematica è case sensitive, sia nel nome dei comandi sia nel nome delle cartelle che formano il percorso.
Poi richiamiamo il pacchetto con il comando:
<< "PierinPIC18`"
possiamo quindi aprire la seriale con:
ser1 = PierinOpen["COM1"]
Non è detto che il vostro Pierin sia sulla COM1.
In windows potete vedere su quale COM è finito il Pierin andando su System e poi su Device Manager e guardare le COM presenti su Ports: COM & LPT.
mandiamo quindi un messaggio al Pierin con:
PierinWrite[ser1, "Hello PierinPIC18!"]
Se il Pierin è stato programmato con il programma fornito a corredo dell'articolo di
PierinBufferBytes[ser1]
che dovrebbe restituire 18.
Leggiamoli con:
PierinRead[ser1]
Chiudiamo quindi la porta con:
PierinClose[ser1]
Per utilizzare il pacchetto dovete installare .NET sul vostro PC.
Se volete approfondire pacchetti ed estensioni di Mathematica andate a questo link, ci sono un bel po' di manuali. Potete comprarli su carta o scaricarli gratis come pdf.
Se invece volete imparare i fondamenti di Mathematica vi consiglio il sacro testo
Stephen Wolfram The MATHEMATICA Book Wolfram Media ISBN: 1-57955-004-5
oppure se non volete spendere e volete un testo introduttivo potete scaricarvi gratis e legalmente questo libro, messo a disposizione dalla McGraw. E' un testo vecchio, ma per cominciare va bene.
Se invece vi piace MATLAB e volete collegargli Mathematica (e magari il mio package e il Pierin) potete scaricare il buon vecchio MATLink.
Segnalatemi errori e amenità varie!
Ciao da Pietro.
PS: ecco il codice del programma di esempio:
- Codice: Seleziona tutto
AppendTo[$Path, "C:\\Users\\Pietro\\packages"];
<< "PierinPIC18`"
ser1 = PierinOpen["COM1"]
PierinWrite[ser1, "Hello PierinPIC18!"]
PierinBufferBytes[ser1]
PierinRead[ser1]
PierinBufferBytes[ser1]
PierinClose[ser1]
EDIT: dimenticavo. Se non vi ricordate la sintassi di un comando potete usare il punto interrogativo.
Per esempio:
? PierinWrite
restituisce
- Codice: Seleziona tutto
Sends a string on the serial port. Usage: PierinWrite[Delegate,String] Example: PierinWrite[ser,"Hello PierinPIC18"]
-

PietroBaima
90,7k 7 12 13 - G.Master EY

- Messaggi: 12207
- Iscritto il: 12 ago 2012, 1:20
- Località: Londra
0
voti
Con il tuo permesso lo metterei nell' area download del sito del Pierin.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
TardoFreak ha scritto:Con il tuo permesso lo metterei nell' area download del sito del Pierin.
PietroBaima ha scritto:Insomma fateci cosa vi pare.
-

PietroBaima
90,7k 7 12 13 - G.Master EY

- Messaggi: 12207
- Iscritto il: 12 ago 2012, 1:20
- Località: Londra
1
voti
Bene!
Ora è disponibile anche a QUESTO LINK
Edit:
Tra l' altro ho dovuto modificare il progetto per la seriale virtuale. C' erano ancora riferimenti al framework di Microchip.
Alla fine ho buttato tutto dentro un unica cartella e l' ho provato su una macchina virtuale ... intonsa.
Ora pare che funzioni.
Ora è disponibile anche a QUESTO LINK

Edit:
Tra l' altro ho dovuto modificare il progetto per la seriale virtuale. C' erano ancora riferimenti al framework di Microchip.
Alla fine ho buttato tutto dentro un unica cartella e l' ho provato su una macchina virtuale ... intonsa.
Ora pare che funzioni.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
Per provare il package ho programmato il pierin usando l'hex.
Devo riprogrammarlo?
Devo riprogrammarlo?
-

PietroBaima
90,7k 7 12 13 - G.Master EY

- Messaggi: 12207
- Iscritto il: 12 ago 2012, 1:20
- Località: Londra
35 messaggi
• Pagina 3 di 4 • 1, 2, 3, 4
Torna a Programmi applicativi: simulatori, CAD ed altro
Chi c’è in linea
Visitano il forum: Nessuno e 6 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
pigreco]=π