Inviare un caratter ASCII tramite PIC

Ciao a tutti, ho un problema di questo genere. Uso il classico PIC16F84A Sperimentalmente vorrei fare uscire da un pin a caso ... diciamo RB0, la sequenza di bit che compongono il carattere A ( 01000001 ). Non vorrei usare il protocollo RS232 ma semplicemente portare i livelli logici del singolo carattere. Ho gia provato da neofita a creare un array di bit associato al carattere A e sembra funzionare, ma il progetto che ho in mente prevede l'uscita di piu lettere e numeri e la cosa diventa complessa e forse un po inutile. Praticamente piano piano vorrei riuscire a ricreare una piccola parte di protocollo AX.25 dove alla presenza del bit 1 avro un segnale a 2200hz e con lo 0 a 1200 hz il tutto a 1200 bps.

Qualcuno puo darmi qualche consiglio in merito ?

Grazie a tutti !

Reply to
Mchip
Loading thread data ...

"Mchip" ha scritto nel messaggio news:4ba948fd$0$821$ snipped-for-privacy@reader5.news.tin.it...

Guarda: non so se ho capito bene. Provo a rispondere per quello che ho capito. Se vuoi fare una seriale usando un pin ti basta mettere il carattere nell'accumulatore, shiftarlo nel carry, controllare lo stato del carry e alzare o abbassare il pin di uscita a seconda del valore del carry. Questo per 8 volte. Non ti servono array: ci dovresti comunque mettere lo stesso valore binario del dato da trasmettere. Poi quanto vuoi tenere il pin alzato o abbassato dipende dalla tua velocità in baud. La seconda parte non l'ho capita. Come fai a buttare un dato a 1200 bps (1200 Hz) se la frequenza dello "0" è

1200 Hz? Ti dovresti accontentare di avere solo un ciclo per ogni zero che fai uscire. Quando esce l' "1" avresti meno di 2 cicli. Puoi anche farlo ma il ricevitore dovrebbe contare il tempo tra i fronti. Ma forse ho capito male io.
Reply to
Lazer

"Mchip" wrote in news:4ba948fd$0$821$ snipped-for-privacy@reader5.news.tin.it:

Questi doc li hai già visti?

formatting link
formatting link
formatting link

Parent link:

formatting link

Ciao, AleX

Reply to
AleX

In effeti mi sono spiegato male

Ok

Mi sono spiegato male ... praticamente il pic mi deve generare un tono a

1200 hz se il bit è 0 e 2200 hz se il bit è 1... l'alternanza dei toni deve rispettare i 1200 bps.

Grazie Lazer

Reply to
Geppo

Mchip ha scritto:

Dunque, quello che vuoi fare non è banale. Non ti è sufficiente inviare frequenze diverse per bit diversi, tra un bit e l'altro ci deve essere continuità di fase. In pratica hai bisogno di un modem.

Potresti provare ad usare i bit in uscita per pilotare un VCO che genera le due frequenze, oppure puoi fare tutto in software, ma allora avrai bisogno di un DDS.

Poi la parte HDLC prevede cose un po' strane (tipo il bit stuffing), ma qui siamo già su un altro layer.

Io ho implementato il modem AFSK, il layer HDLC e il protocollo AX25 nel nostro RTOS, se vuoi darci un'occhiata puoi vedere qui:

formatting link
formatting link

Purtroppo non gira sui PIC, ma sugli AVR sì :-)

--
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept.
   |\ http://www.develer.com/ - http://www.bertos.org/
Reply to
Francesco Sacchi

Grazie a tutti dei consigli... vediamo che riesco a combinare... grazie !

"Mchip" ha scritto nel messaggio news:4ba948fd$0$821$ snipped-for-privacy@reader5.news.tin.it...

Reply to
Mchip

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.