- Messaggi: 41
- Ringraziamenti ricevuti 0
reset
11 Anni 9 Mesi fa #1
da cavaking
reset è stato creato da cavaking
Ho il problema che quando la ricezione usart è andata male la periferica va per i fatti suoi.
Non riesco a metterla in passo con le altre e quindi stò pensando ad un reset totale.
Avete qualche suggerimento su come fare? il pic e f88, il codice in asm e la ricezione usart avviene in interrupt
Non riesco a metterla in passo con le altre e quindi stò pensando ad un reset totale.
Avete qualche suggerimento su come fare? il pic e f88, il codice in asm e la ricezione usart avviene in interrupt
Si prega Accedi o Crea un account a partecipare alla conversazione.
- cavaking
- Autore della discussione
- Senior Member
Riduci
Di più
11 Anni 9 Mesi fa #2
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic reset
come fai a dire che la ricezione è andata male? Non ricevi il dato che invii?
con cosa la devi "mettere in passo"?
Potrebbe aiutarti un chiudi usart e riapri usart?
Ste
con cosa la devi "mettere in passo"?
Potrebbe aiutarti un chiudi usart e riapri usart?
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
11 Anni 9 Mesi fa #3
da cavaking
Risposta da cavaking al topic reset
il progetto è lo stesso a cui avevo chiesto consigli in altri topic.
le periferiche sono slave e visualizzaziono su lcd scritte ricevute dal master e trasmettono un byte con valori a 0 se tasti premuti. Succede che la trasmissione tasti non va a buon fine e, non ho ancora capito perchè, la periferica che invia i dati impascisce. Il master non riceve i dati giusti e aziona cose non corrette. E' la periferica + distante quella che mi dà i problemi quindi presumo sia un problema impedenza linea che non mi fa andare a valori corretti lo 0. Al momento non sono riuscito a correggere neanche con resistenze di polarizzazione.
la devo mettere in passo con le altre periferiche che visualizzano correttamente sul display
sicuramente un chiudi e apri usart potrebbe essermi utile perchè non aggiornerei la periferica in caso anomalia trasmissione (che rilevo con un led) ma non so come fare.
Stavo pensando di creare un ritardo nell'acquisizione del dato da slave a master ma tutto ciò che ho provato peggiora la situazione.
Il dialogo avviene in modo syncrono con un buffer hc125 interfacciato ad mosfet per traslare il livello di scambio a 12vcc.
le periferiche sono slave e visualizzaziono su lcd scritte ricevute dal master e trasmettono un byte con valori a 0 se tasti premuti. Succede che la trasmissione tasti non va a buon fine e, non ho ancora capito perchè, la periferica che invia i dati impascisce. Il master non riceve i dati giusti e aziona cose non corrette. E' la periferica + distante quella che mi dà i problemi quindi presumo sia un problema impedenza linea che non mi fa andare a valori corretti lo 0. Al momento non sono riuscito a correggere neanche con resistenze di polarizzazione.
la devo mettere in passo con le altre periferiche che visualizzano correttamente sul display
sicuramente un chiudi e apri usart potrebbe essermi utile perchè non aggiornerei la periferica in caso anomalia trasmissione (che rilevo con un led) ma non so come fare.
Stavo pensando di creare un ritardo nell'acquisizione del dato da slave a master ma tutto ciò che ho provato peggiora la situazione.
Il dialogo avviene in modo syncrono con un buffer hc125 interfacciato ad mosfet per traslare il livello di scambio a 12vcc.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- cavaking
- Autore della discussione
- Senior Member
Riduci
Di più
- Messaggi: 41
- Ringraziamenti ricevuti 0
11 Anni 9 Mesi fa #4
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic reset
potresti trasmettere due volte lo stesso dato, uno di seguito all'altro, se sono uguali e quindi molto probabilmente privi di errori, il master procede con l'azione corrispondente a quel dato, se sono diversi è come se non avessi ricevuto niente. Se hai la possibilità di interrogare lo slave, magari nel caso di dati ricevuti discordanti, puoi pensare di richiedere di nuovo la trasmissione dallo slave.
Riguardo lo slave, dovresti capire bene cosa succede quando dici che "impazzisce", se hai la possibilità di fare un debug hardware cerca di capire cosa fa il pic, altrimenti prova a inserire dei commemti visibili sul display per sapere dove si trova (ad esempio.."prima dell'invio".."dopo l'invio"...)
Ste
Riguardo lo slave, dovresti capire bene cosa succede quando dici che "impazzisce", se hai la possibilità di fare un debug hardware cerca di capire cosa fa il pic, altrimenti prova a inserire dei commemti visibili sul display per sapere dove si trova (ad esempio.."prima dell'invio".."dopo l'invio"...)
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
11 Anni 9 Mesi fa - 11 Anni 9 Mesi fa #5
da Mauro Laurenti
Risposta da Mauro Laurenti al topic reset
Se hai modo cerca di fare qualche misura con l'oscilloscopio e vedere le forme d'onda sul bus.
Che frequenze usi?
...non si sei convinto a passare ad interfaccia RS485!
potresti postare lo schema elettrico?
Saluti,
Mauro
Che frequenze usi?
...non si sei convinto a passare ad interfaccia RS485!
potresti postare lo schema elettrico?
Saluti,
Mauro
Ultima Modifica 11 Anni 9 Mesi fa da Mauro Laurenti.
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.