home | area personale         schemi | tutorial | robotica | pic micro | recensioni         forum | chat irc         faq | contatti         store | Ordina PCB
username
password
cerca

 
FORUM: Pic Micro
Tutto quanto riguarda questi microprocessori... progetti, suggerimenti, aiuti, discussioni...ecc


uart mikrobasic a 12bit
     
Autore Messaggio opzioni
fabio1977





postato il:
30.09.2019, alle ore 18:59
uart mikrobasic a 12bit 

salve a tutti!ho un problema con la comunicazione seriale di un apparato che comunica con un uart a 12 bit(start,1 bit,2 bit,3 bit,4 bit,5 bit.6 bit.7 bit,8 bit,parità,stop,stop)se considerate i bit di start,stop e parità si arriva a 12 bit.
come si può notare ci sono due bit di stop e credo che con il mikrobasic non sia possibile inviare questi due bit consecutivi!
ho dato un occhiata anche al mikroc e mi sembra che sia la stessa cosa!
devo poter leggere e inviare parole composte da 8 bit + parità + 2 bit di stop!
la velocità del baund rate è di 260 bit/sec.
si tratta di un apparato non commerciale, purtroppo!ecco perchè la velocità del bus dati risulta strano e non comune.
idee? (ovviamente lascio per ultimo l idea di dover lasciar perdere tutto)
posso utilizzare qualsiasi pic che preveda un bus dati di 12 bit.
picmicro675




una ogni 10 livelli


postato il:
01.10.2019, alle ore 12:08
Caso primo, che micro?
Caso secondo..prendi i fogli dati, per la sezione MSSP, per esempio DS41391C-page 290
Potresti configurare per la trasmissione a 9 bit, ma dovresti per quello spostare gli 8 bit nel dato ricevuto e scartare il bit 0, considerato lo STOP addizionale.
Altrimenti dovresti implementare una routine con il bit banging che manda fuori il formato che stai dicendo.
Penso che dovresti farlo nel secondo modo. Spiega che linguaggio vuoi utilizzare. Ma sono convinto che mikroE non è parsimonioso.



Anno nuovo, forum nuovo.
Mi sa che lascio.
fabio1977





postato il:
01.10.2019, alle ore 13:25
Non ho mai utilizzato la seriale mssp comunque potrei usare il pic16f876.
Dal datasheet vedo che è dotato di canale mssp pagina 65
fabio1977





postato il:
01.10.2019, alle ore 13:27
Da quel che leggo può operare in i2c o spi....
Dovrei utilizzare l uart
marsram




una ogni 100 livelli
una ogni 10 livelli


postato il:
01.10.2019, alle ore 13:43
Non vedo perchè usare MSSP quando c'è un AUSART che può trasmettere 9 bit, ovvero 8 di dati + 1 di parità

Gli stop sono solo una attesa pari a un carattere e si aggiungono fuori dalla gestione dell'UART.
fabio1977





postato il:
01.10.2019, alle ore 14:50
Gli stop sono in pratica due tempi in successione in cui lo stato logico é 1.
In pratica la velocità é di 260 bit/sec quindi 1/260 fa 0,0038461538 secondi
Quindi i bit durano 3846 micro secondo.
I due bit di stop consecutivi sono 3846x2 microsecondi.
Giusto?
fabio1977





postato il:
01.10.2019, alle ore 17:41
Potrei usare anche un data logger
marsram




una ogni 100 livelli
una ogni 10 livelli


postato il:
01.10.2019, alle ore 17:48
Io non mi incasinerei tanto i calcoli.

Se usi l'UART, quello che di fare è stabilire il baudrate voluto .
L'UART gestirà da se la trasmissione dei bit del dato.
Se ci vuoi la parità, devi settare la trasmissione di 9 bit

Gli stop saranno lunghi come il tempo di ogni bit.
A 2400 saranno circa 0.41 ms, se non sbaglio.

Tieni presente che in genere gli stop non vengono valutati. Sono una pausa tra un byte e l'altro per permettere al ricevitore di prendere il dato.
fabio1977





postato il:
01.10.2019, alle ore 17:53
Praticamente leggo lo stato logico di una porta (portac.6)memorizzo il bit in una memoria dim del pic e ripeto questa procedura per 1000 volte (ad esempio ).
Finito di campionare rileggo tutte le campionature e riproduco l intera parola sulla porta (porta.7)
In questo modo non sono legato a seguire un determinato protocollo di comunicazione che non conosco.
Che ne pensate?
fabio1977





postato il:
01.10.2019, alle ore 19:52
I registri di configurazione per i 9 bit sono TXSTA e RCSTA .giusto?
segui questo thread con grixFC, per questa funzione devi aver installato il software grixFC

torna su
     

Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito




 







 
 
indietro | homepage | torna su copyright © 2004/2024 GRIX.IT - La community dell'elettronica Amatoriale