Abram Burel Postat Iunie 10, 2007 Partajează Postat Iunie 10, 2007 Ce-ai zice de un cuart pentru cadenta de la USART?! Link spre comentariu
laStudiu Postat Iunie 11, 2007 Autor Partajează Postat Iunie 11, 2007 Ce-ai zice de un cuart pentru cadenta de la USART?!1. Adica trebuie sa-i leg un cuart la amandoua MCP2120 pe fiecare placa?2. Bine, dar nu vad in datashet nimic concret care sa arate ce si cum anume se leaga; in plus la pinul OSC1/CLKIN scrie "Oscillator crystal input/ external clock source input", deci ar trebui sa fie ceva bit de configurare prin care sa alegi intre cele doua, dar nu gasesc. Link spre comentariu
Abram Burel Postat Iunie 11, 2007 Partajează Postat Iunie 11, 2007 1. Nu, legi cate un cuart la MCP2120 pe fiecare placa :)2. Nu neaparat. La PIC-uri (si poate alte dispozitive), configurarea e necesara pentru ca influenta bitilor respectivi e prin mai multe locuri. Aici insa, probabil ca circuitul intern e astfel gandit incat, daca pui pe pinul 2 un ceas extern sau legi intre 2 si 3 un cuart, e totuna (lucru de altfel... natural").Se pare ca foaia aia de catalog e facuta pentru tipi... cuStudii Link spre comentariu
laStudiu Postat Iunie 11, 2007 Autor Partajează Postat Iunie 11, 2007 Deci trebuie un cuart la fiecare MCP si apoi selectata frecventa. Atunci ce legatura exista intre frecventa UART de la PIC si frecventa MCP-ului. Banuiesc ca trebuie sa fie aceeasi. Link spre comentariu
Vizitator cristian_agiu Postat Iunie 11, 2007 Partajează Postat Iunie 11, 2007 Am gasit un driver pt LCD, dar i-mi da eroarea in PICC-Lite: (107) illegal # directive "byte" ... la codul #byte lcd = 8 // on to port D (at address 8) PICC-Lite e compilator de C, iar codul ala nu pare a fi pentru C, in C cu # incep directivele preprocesor (#define, #include, #pragma, etc). Nici byte nu e vreun tip standard de variabila in C (ar fi trebuit unsigned char). LE: vezi aici niste cod pt. LCD (si alte interfete) pentru PICC: http://www.microchipc.com/sourcecode Link spre comentariu
Vizitator cristian_agiu Postat Iunie 11, 2007 Partajează Postat Iunie 11, 2007 Sal Cristiano am si eu un jackpot si mere ce mere dupa care se reseteaza la o valoare mult mai jos dupa care mere normal si iara se intimpla la fel.E facut cu controler pic648 si 485 acu nu stiu de unde poate fi . Intrebarea mea este :poate fi din retea ceva in neregula? Link spre comentariu
Cristiano Postat Iunie 11, 2007 Partajează Postat Iunie 11, 2007 Sal Cristiano am si eu un jackpot si mere ce mere dupa care se reseteaza la o valoare mult mai jos dupa care mere normal si iara se intimpla la fel.E facut cu controler pic648 si 485 acu nu stiu de unde poate fi . Intrebarea mea este :poate fi din retea ceva in neregula? Da niste detalii concrete, ce e ala jackpot, ce legatura au merele aici , explica mai clar ce inseamna "se reseteaza la o valoare mult mai jos", pune eventual si o schema si apoi putem discuta. Link spre comentariu
Abram Burel Postat Iunie 11, 2007 Partajează Postat Iunie 11, 2007 laStudiu, banuiesti corect :)MCP-ul ala nu e altceva decat un... modem care adapteaza o comunicatie seriala intre doua dispozitive (intr-o parte un PIC si in cealalta alt PIC) la canalul de comunicatie prim modulare/demodulare (in cazul asta folosind IR).Daci PIC ii transmite MCP ce vrea el sa spuna "celuilalt PIC". Pentru ca MCP sa priceapa, trebuie sa foloseasca aceiasi parametrii pe USART, printre care si viteza de transmisie. Atat PIC-ul, cat si MCP-ul pot avea ceas (oscilator) separat, dupa cum pot avea si acelasi ceas daca e cazul (de exemplu sa folosesti pinul 2 de la MCP pe post de CLKIN). Oricum trebuie setate lucrurile in asa fel incat viteza de comunicatie seriala sa fie identica.In mod normal ea va fi la fel si in partea cealalta (desi in functie de aplicatie lucrul asta nu e obligatoriu, dar macar recomandabil). Link spre comentariu
laStudiu Postat Iunie 13, 2007 Autor Partajează Postat Iunie 13, 2007 Ce diferenta face in comunicatia seriala asincrona bitul CREN (Continuous Receive Enable bit).... Bun ... Am observat ca daca trimit caractere unul dupa altul nu receptionez nimic daca CREN = 0. Link spre comentariu
laStudiu Postat Iunie 13, 2007 Autor Partajează Postat Iunie 13, 2007 Am alta problema acum: am legat cu doua fire PIC16F871 si PIC16F627 si nu pot sa fac o comunicatie asincrona nicicum. Am facut acelasi cod pentru ambele in C si am observat ca daca fac scurt intre TX si RX si pornesc numai 871, caracterele trimise le receptionez inapoi si le scriu in EEPROM si sunt date corecte. Daca pornesc numai 627 cu TX pe RX nu receptionez datele corecte si in plus i-mi apare si FramingError.Mentionez ca 871 merge cu cuart de 4 MHz, iar 627 cu oscilator intern 20 MHz. Sa fie din cauza oscilatorului problema, sau o fi defect USARTul ? (am incercat cu BRGH 1, apoi 0, am modificat si SPBRG si aceeasi problema: in loc sa primesc 9 date valide, primesc alte date si FramingError) Link spre comentariu
Abram Burel Postat Iunie 13, 2007 Partajează Postat Iunie 13, 2007 Oscilator intern la 20 MHz? Din ce film e asta? Link spre comentariu
laStudiu Postat Iunie 13, 2007 Autor Partajează Postat Iunie 13, 2007 Oscilator intern la 20 MHz? Din ce film e asta?Am sunat si eu la Capodimonte, ca nu am fost sigur daca am auzit bine cand l-am cumparat si mi-a confirmat ca varianta 16F627-20P este de 20MHz. Oricum nu are legatura frecventa cu faptul ca nu merge USART-ul pe RX legat la TX. Link spre comentariu
sofian Postat Iunie 13, 2007 Partajează Postat Iunie 13, 2007 ptr a face o comunicatie Rx/Tx trebuie sa setezi o anumita rata de transmisie a bitilor(baud rate) care ptr frecvente diferite ai "SPRG register" diferit Link spre comentariu
Abram Burel Postat Iunie 14, 2007 Partajează Postat Iunie 14, 2007 20-ul se refera la configuratiile de oscilator extern, nu intern. Ala intern e de maxim 4MHz (maximul se refera la PIC-urile la care se poate configura un divizor, altfel e 4 fix +-...) Link spre comentariu
laStudiu Postat Iunie 14, 2007 Autor Partajează Postat Iunie 14, 2007 ptr a face o comunicatie Rx/Tx trebuie sa setezi o anumita rata de transmisie a bitilor(baud rate) care ptr frecvente diferite ai "SPRG register" diferit1. Am activat RCIE si la un moment dat activez si TXIE si transmit 8 caractere dupa care dezactivez TXIE. Tot ce primesc scriu in EEPROM. 2. La pornire fac scurt Rx-Tx si deci primesc ceea ce transmit. 3. Citesc EEPROMul sa vad daca am receptionat date corecte. 4. Cu 16F871 merge bine, cu 16F627 receptionez alte date si apare si framingError. Deci este defect USARTul la 627 sau nu merge comunicatia seriala pe oscilatorul intern? Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum