Ciao a tutti, vorrei realizzare un cs con un PIC16F876 per comandare dei rele. Tramite Visual basic vorrei fare un programmino che tramite la seriale vado a modificare delle temporizzazioni sul pic. Tipo ora funziona a tutto temporizzato a 10 secondi , tra 2 mesi lo attacco al pc e tramite il programmino imposto 20 seocndi e deve rimanere temporizzato tale valore Immagino quindi che il programma che devo sviluppare in VB dovra modificare delle variabili, o scrivere su delle allocazione nella ROM. QUalcuno mi potrebbe aiutare per capire come sviluppare dalla parte elettronica i collegamenti del pic ?
"Geppo" ha scritto nel messaggio news:4ace56ba$0$1105$ snipped-for-privacy@reader2.news.tin.it...
Puoi inviare i dati dal PC al PIC tramite la seriale. Li catturi e poi li metti in una o più variabili in RAM. Puoi salvarli anche nella EEPROM del PIC, se necessario. Non credo che tu possa memorizzarli sulla ROM. La seriale del PIC funziona a 5 Volt me se usi un MAX 232 completi l'interfaccia con il PC.
Grazie mille LAzer volevo poi dire EEPROM e non ROM scusatemi ;-) Grazie ancora provo a relizzare il programma e vediamo che fa ;-) "Lazer" ha scritto nel messaggio news:DVszm.77829$ snipped-for-privacy@twister1.libero.it...
"Geppo" ha scritto nel messaggio news:4ace66ef$0$824$ snipped-for-privacy@reader5.news.tin.it...
In genere io definisco il formato del un pacchetto, in questo modo ad esempio :
header - dato1 - dato2 - dato3 - checksum
header potrebbe essere due volte 255, sarebbe meglio se tale sequenza non potesse ripetersi nel resto del pacchetto, gestendo checksum ed un timeout di ricezione non è cosa IMHO indispensabile. Checksum puo' essere la somma ad 8 bit di tutti i bytes oppure il complemento ad uno.
nel pic ricevi tutti i dati incrementando un contatore man mano che arrivano per definirne la posizione e salvi dato1 - dato2 - dato3 in tre variabili (un array char ad es. ) temporanee, all'arrivo del checksum (il sesto byte in questo caso) fai la somma e verifichi, se il checksum calcolato è uguale al checksum ricevuto sposti i dati nella posizione definitiva, altrimenti scarti.
Se non arrivano 6 byte in un tempo predefinito ( a 9600 baud potrebbe essere
15-20 mS per stare larghi) azzeri il contatore "posizione" per cui il byte che successivamente arriva alla USART diventerà il primo.
Qui trovi un datasheet con tutta la famiglia. Alla figura 5 trovi proprio il 232 con i collegamenti necessari. Il chip ha 2 traslatori in ingresso e 2 in uscita. Se non usi i segnali di controllo ti bastano 1 in ingresso e 1 in uscita e lasci gli altri non collegati..
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.