Sari la conținut
ELFORUM - Forumul electronistilor

tx rx pic16f74 comunicatie seriala cu pc-ul


Vizitator nos_30

Postări Recomandate

Vizitator nos_30

am un pic 16f74 cu comunicatie seriala in el si l-am legat pe un usb to serial de calculator(calculatorul nu are port serial)picul asta am citit despre el ca stie protocolul rs232 si am facut un usart pt elam luat una bucata "serial port monitor" si acum problema meaprogramul l-am facut ca in momentul cind receptioneaza in RCREG ceva sa il mute in TXREG si sa imi dea replayl-am testat cu pic simulator ide si mergea prin emulatorul alape acest serial pe care il am nu merge decit daca trimit ceva din pic in calculatorinvers nu se intimpla nimicma gindesc ca poate tre sa leg picul de comp printr-un max 232eu cred ca totusi sunt tensiunile tx rx de pe usb to serial diferite de cele de la picpoate imi da cineva o idee cum sa fac ca sa pot scrie si citi din pic pe calculator posting.php?mode=post&f=11#

Link spre comentariu
  • Răspunsuri 17
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • deep-blue

    4

  • sofian

    2

  • puiu

    2

  • Laci

    2

Top autori în acest subiect

1.Verifica tensiunea din calculator pentru USB. Eu stiam ca USB este pe 3,3 V si nu pe 5 V. Alimentarea in general pe USB este de 5V, dar sint USB care dau 12 V sau 24 V numai pentru alimentarea device-ului extern. Poate gresesc.

Link spre comentariu
Vizitator nos_30

alimentarea este de 5 v desi si eu stiu ca tre sa fie de 3,3 (poate imi indica prost aparatu), folosesc un pickit2 ca sa scriu picul, un "usb to serial" prolific rs232nu cred ca asta e problema , valorile se citesc intre 3~15v = 1 , si -3~-15 = 0 (in calculator asta e sigur), dar nu stiu ce valori stie sa citeasca prolificu astadaca gresesc cu ceva va rog sa ma corectatiasta o stiu din documentatia ce am citito despre rs232pina una alta ma uit in soft ca nici eu nu prea stiu exact cu ce se maninca ca sunt incepator in transmisia seriala

Link spre comentariu

USB-ul are linia de alimentare la 5V (tolerat 4.75-5.25). Semnalul diferential USB pentru Low Speed (LS) si Full Speed (FS) are amplitudinea de 3.3 V. Alte tensiuni pe linia de alimentare la USB is total aiurea si nerecunoscute de catre organizatia de standardizare USB-IF (e si normal - ca daca ar exista alimentare la 24V sigur s-ar gasi cineva sa bage o camera foto in mufa si atunci BUM).Pe cealalta parte a lui PL-2303 (adica pe partea de RS232) gasesti in gol la iesire cam +6...+8V respectiv -6...-8V. Suficient pentru un cablu de cativa metri (mie mi-a mers la 4m cu 38400). Daca ai protejat intrarea Rx in PIC cu rezistenta si dioda atunci nu mai vad deocamdata decat varinta unei greseli in program.Intrebare: pe PC receptionezi exact ce transmiti din controller ?

Link spre comentariu
Vizitator nos_30

nu stiu cum sa o protejez intrarea pe rx, poate imi arati schematic

am folosit exemplele de pe site la microcip

are niste exemple acolo pe care am incercat sa le modific ceva de genul:

 

loop

call ReceiveSerial

btfsc Flags,GotNewData ;verifica daca sa transmis

call transmit

goto loop

transmit

movlw b'10101010' ;hex=AA

movwf TXREG

btfss PIR1,TXIF ;verifica daca sa transmis

goto $-1

return

nu mai stiu exact cum era ca deja am inceput sa imi fac programul meu dar ideea e ca imi returna mereu 0 in picsimulator ide

acelasi lucru ar fi trebuit sa se intimple si pe simulatorul de serial ce il am dar acolo nu imi aparea nimic

am vazut si eu ca nuivelurile de pe rs232 erau de vreo 6v si ceva dar tot am impresia ca mie aparatu de masura ciudat

http://www.sz3bbyla.ilive.ro/rt.asm - aici se afla programul ce l-am modificat pt 16f74 cu 20 mhz

poate ma ajuti cu o schema cu dioda si rezistenta pt protectia aia pe rx

Link spre comentariu

1.Valorile corecte le poti vedea cu osciloscopul nu cu aparatul de masura.2. Pe site-ul lui Microcip nu am gasit ca PIC16F74 este dotat cu interfata de USB ci numai unele PIC-uri 18F sau mai mari. E drept ca ceea ce faci tu este foarte interesent dar merita cand sunt PIC-uri care au device pentru USB?

Link spre comentariu
Vizitator nos_30

inca odata pentru lamuriream un 16f74 care are serial master, i2c slave, paralel etcl-am legat de calculator printr-o interfata "usb to serial" din cauza ca am un laptop care nu are port serialsi incerc sa transmit date si sa primesc prin transmisie seriala asincrona (adica usart=universal sincron asincron recive transmit)

Link spre comentariu

Am atasat schema de care vorbeam si care limiteaza curentul pe intrarea controlerului cand nivelul aplicat e negativ. Rezistenta poate fi de pe la 1k8 pana chiar si peste 10k. (minimul depinde de cat curent poate scoate convertorul USB2serial, iar maximul depinde de sensibiltatea de intrare pe pinul MCU). Dioda nu-i nici ea critica, de fapt in controler exista deja o dioda montata asa, dar e de preferat sa nu o arzi pentru ca protejeaza controlerul de ESD (ElectroStatic Discharge).[attachment=0]protectie_serial.png[/attachment]Din cate stiu, PIC-urile is destul de zdravene cat sa absoarba curentul de scurtciruit al convertorului, iar daca, convertorul ii construit cu chinezaria aia de PL2303, ai noroc ca asta nu-i tare potent la curenti de scurtcircuit. Pe scurt: portul Rx de la controlerul tau are sanse mari sa mai functioneze inca, iar pana acum sa fi fost zapacit doar de curentul invers de pe intrare.Ai posibilitatea sa pui un led la un port bun (printr-o rezistenta de ~ 1K) ? Daca da, asta te poate ajuta la debugging, pana faci serialul sa-ti merga cum trebe. De exemplu poti sa pui led-ul sa se aprinda cand receptionezi ceva (sau cand receptinezi o anume valoare) pe serial.

Link spre comentariu

folosesc un pickit2 ca sa scriu picul, un "usb to serial" prolific rs232

Hm, acu am observat ca folosesti un debugger. Cred ca m-am obisnuit intr-atat sa fac "debugging cu LED" ca m-am grabit sa-ti recomand si tie barbarisme din astea. Lucy you ...
Link spre comentariu
Vizitator nos_30

asta e poza si id-ul de la driver este Vid_067B&Pid_2303am pickit2 si asta nu e debugersi eu pun leduri de test dar pe mine ma intereseaza sa transmit si sa primesc pt inceput in calculatormultumesc mult pt chestea cu rezistenta si dioda numai ca mi se pare cam mare rezistentaeu ma gindeam sa ii pun o rezistenta de vreo 300 ohmnu ma pricep asa bine la electronicamultumesc inca odata de sfaturi

Link spre comentariu

deci adaptorul ala ptr com(RS232) include in afara de PL2303 si un max232tu trebuie sa ai dupa PIC si un max232 ptr conversia semnalelor de la PIC in standard RS232lasa improvizatiile cu diode si rezistori :da

Link spre comentariu
Vizitator nos_30

si eu incep sa cred ca imi trebe un max 232 dar mie teama sa nu fi prajit deja prolificu asta pe care il amam masurat rx-com si am -6.2 vam masurat tx-com si nu am nimic ( 0.0 v )am masurat tx-rx si am 6.2 v

Link spre comentariu

Cam asta ii solutia pe care am folosit-o la primele mele montaje (diode + 3k6) si au mers fara probleme atat timp cat firele nu erau prea lungi. Subscriu si la recomandarea lui sofian: un integrat max232 si 4 condensatoare, puse de la bun inceput in montaj, si nu-ti mai bati capul. Prolificu se verifica foarte usor: legi Tx la Rx (pin 3 cu pin 2) si trebe sa receptionezi ce transmiti (echo). Din experienta stiu ca adaptoru ala (am si eu 2, unu-i la fel cu al tau) is destul de rezistente.Later edit: Daca scoti din montaj adaptorul o sa ai pe Rx (pin2) ~0V. Pe Tx (pin3) ~-6.5V. Fata de GND (pin5). Tocmai am masurat la al meu.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări