Newsgroup: it.hobby.elettronica.digitale
Titolo: Comunicazione seriale con pic 16F84A con Mikrobasic

Salve a tutti, ho il pic 16F84A che voglio far comunicare con la porta 
seriale del PC.. Io collego i pin 18 e 17 del pic con il pin 11 e 12 del 
MAX232 come ho visto sul sito del Tanzilli (ovviamente collego anche tutti i 
componenti di contorno..), ora la mia domanda è come faccio in Mikrobasic a 
inviare una parola su Hyperterminal del pc ad esempio "CIAO"?
Ringrazio in anticipo quanti risponderanno! 

 inviare una parola su Hyperterminal del pc ad esempio "CIAO"?
Ciao,
io non conosco Mikrobasic. Però sono andato sul sito ho scaricato il 
manuale e ho trovato la documentazione delle librerie necessarie alla 
comunicazione seriale con tanto di esempi.
Dal momento che sicuramente l'avrai fatto anche tu, non può essere 
questa la risposta alla tua domanda. Per cui ti chiedo: di preciso cosa 
non ti è chiaro?
Ti consiglierei di usare un PIC più recente (ad esempio il 16F876A) che 
ha meno limitazioni hardware e di memoria dell'obsoleto 16F84A.
Marco / iw2nzm

 meno limitazioni hardware e di memoria dell'obsoleto 16F84A.
Il fatto è che ho già questo pic e vorrei sfruttarlo..

 sono molto ferrato.
Hai letto il mio post precedente? Sembrerebbe di no.
Ad ogni modo se usi l'assembler può essere utile il sito di Tanzilli se 
usi Mikrobasic direi che è più utile il suo manuale (*) :)
Ciao!
Marco / iw2nzm
(*) visto che oggi mi sento buono ti dico anche le pagine: 256 e 265.

> Il fatto è che ho già questo pic e vorrei sfruttarlo..
dico la mia: sappi che se vuoi veramente sfruttare il tuo MCU, meglio
operare in assembly. E' probabile che, prima o poi, lo stesso
programma scritto in uBasic sfori la memoria dell'MCU, mentre in
assembly ti avanza anche spazio per fargli svolgere altre funzioni. E
ti ritrovi ad usare l'876 perchè uBasic gonfia troppo l'hex per l'84A
che compilato dall'assembly, invece, ci starebbe eccome...
Per mikrobasic ci sono passato pure io: sulle prime è fighissimo...
però MPLAB lo è di più... ed è molto meglio l'assembly, che dopotutto
dà molte più soddisfazioni a programma finito.
Valuta pure che sul sito della Microchip trovi una marea di
application notes che faranno sicuramente al caso tuo in ogni
frangente, mentre di mikrobasic non trovi troppe info in giro...
Ciao e buon lavoro
Matteo IV3YNB

frangente, mentre di mikrobasic non trovi troppe info in giro...
Capisco che non appena si scrive Basic tutti dicono che il C e' meglio, ma 
ora consigliare assembler ad un linguaggio ad alto livello credo non sia il 
miglior consiglio

 miglior consiglio
Bhe, dipende.
L'assembly non è chiaramente un linguaggio di alto livello, ma la vedo 
molto dura per un compilatore generare del codice per un micro con solo 
68 bytes di RAM.
Bisogna solo aver ben presente cosa offre la tecnologia e quali sono i 
limiti.
A ogni applicazione il suo micro, ad ogni micro il suo linguaggio.
Ciao

miglior consiglio
Io non sono di quelli che dice che il C è meglio, ma dico che dipende sempre
quello che devi fare.
Se il software non fa altro che gestione di I/O e roba di basso livello,
l'assembler è il linguaggio da preferire.
I linguaggi evoluti servono se si deve fare qualcosa di 'evoluto', come calcoli
complicati o usare variabili complesse come durante la gestione di una FAT.
Per fare cose semplici l'assmbler va bene e ti consente di ottimizzare le
dimensioni del programma in base all prestazioni.
Va poi precisato che programmare in assembler i pic è difficile causa il
limitato numero di istruzioni, il dover sempre passare dall'accumulatore e la
gestione paginata dei salti.
Con gli AVR questi problemi non ci sono e infatti io sui TinyAVR (e  anche sugli
altri appena posso) posso uso sempre l'Assembler.
Adesso per esempio sto collaudando un software su un Tiny2313  dove mi restavano
alla fine solo 6 bytes di ram per lo stack. (ne ha in tutto 128)
Usando qualche macro e qualche salto ci sono riuscito abbastanza bene.
Come avrei potuto fare con un C oppure un Basic?
--
ciao
  Stefano

 miglior consiglio
Beh, a scanso di equivoci chiarisco che sono consapevole di stare a
scrivere su it.HOBBY.ecc... perciò mi permetto suggerimenti orientati
esclusivamente all'hobby; dove lavoro ogni giorno, si usano micro e
linguaggi di programmazione ben più evoluti di un 16F84A... ovviamente
io mi occupo di tutt'altro in ditta, e lo si capisce da altri post
"orribili" di mia produzione :-)
Non conosco il C, mi ci sono un po' avvicinato dopo il Basic per poi
ricadere con discreto succecco in assembly, ma sempre in ambito
hobbystico.
Stà di fatto che alcuni colleghi me l'hanno suggerito fortemente al
Basic. Poi io, visto l'obiettivo dei miei programmi e visto che avevo
già smanettato in assembly, ho scelto di continuare su quella strada.
Ho avuto dei buoni risultati nel mio hobby.
Comunque la discussione è interessante, intendo il fatto che ad ogni
micro ci si possa (debba ?) associare un determinato linguaggio.
Perchè non scrivere un piccolo approfondimento in merito ?
Saluti al ng tutto
Matteo IV3YNB

Perchè non scrivere un piccolo approfondimento in merito ?
Non è che ad ogni micro si possa associare un linguaggio, si assiste alla
'dittatura' del C, che grazie agli standard ANSI è abbastanza simile su tutti i
micro e che si è imposto nonostante sia un linguaggio ostico sintatticamente.
(a me piace poco proprio come sintassi)
Poi ci sono svariati compilatori basic, sempre abbastanza limitati e non
standardizzati, cosa che li rende poco riutilizzabili al di fuori dell'ambito
per cui sono stati pensati.
Infine ci sono i vari assembler, naturalmente ogni famiglia di µC ha il suo, che
possono dare buoni risultati per applicazioni con risorse limitate ma che
dipendono direttamente dalle caratteristiche del micro.
Scrivere un programma in asm per un ST6 o per un pic è indubbiamente più
difficile che scriverlo per un 8051 o per un AVR.
My 2 cents,
--
ciao
  Stefano