Jag vill koppla sladdarna i COM1-kabeln från min dator direkt till UART:en på en AVR-processor (Mega8), och funderar på hur detta enklast ska göras.
Jag behöver inte ha kommunikation båda vägarna, utan det räcker med att kunna skicka meddelanden från dator till microprocessor.
Som jag har förstått det så skickar COM1 en signal mellan 0 och +20V. AVR-processorn tar emot en signal som bör ligga kring 3,5V.
Skulle det vara möjligt att helt enkelt koppla in två högohmiga motstånd i serie med COM1 och rätt i jord, för att på det sättet skapa spänningsdelning och få ut rätt signalstyrka till processorn?
Det kanske finns någon krets att använda?
Om någon har erfarenhet av detta får ni gärna komma med tips.
Hur koppla RS232 till UART på AVR-processor
Om du skall göra det riktigt så skall en MAx232 användar för signalkonverteringen.
rs232 arbetar mellan +12v och -12 enligt specen. (+/- 15v tydligen ) Men däremot börjar elektroniken i vissa fall bli snällare emot nivåerna.
Tror det finns fall där det fungerat med 0-5v tom.
Däremot så skall signalen inverteras.
Sök på Max232 så skall du nog hitta några läsvärda trådar.
Man kan även fuska till sig inverteringen med en/två transistorer.
Edit: HÄR har du lite info om det hela.
rs232 arbetar mellan +12v och -12 enligt specen. (+/- 15v tydligen ) Men däremot börjar elektroniken i vissa fall bli snällare emot nivåerna.
Tror det finns fall där det fungerat med 0-5v tom.
Däremot så skall signalen inverteras.
Sök på Max232 så skall du nog hitta några läsvärda trådar.
Man kan även fuska till sig inverteringen med en/två transistorer.
Edit: HÄR har du lite info om det hela.
Använd t.ex. max3222.
Koppla:
TXD från uC till T1IN
RXD från uC till R1OUT
T1OUT till Pinne 2 i kontaktdonet (Recv Data)
R1IN till pinne 3 i kontaktdonet. (Trans Data)
Glöm inte att jorda signal ground i kontaktdonet... det tog mig en stund att förstå varför kommunikationen upphörde så fort programmeraren kopplades ur, den jordade via parallellporten
Ladda sen ner denna lib:
http://hubbard.engr.scu.edu/embedded/avr/avrlib/
Plocka ett exempel från AVRLib och du har allt igång på mindre än 5 min
Koppla:
TXD från uC till T1IN
RXD från uC till R1OUT
T1OUT till Pinne 2 i kontaktdonet (Recv Data)
R1IN till pinne 3 i kontaktdonet. (Trans Data)
Glöm inte att jorda signal ground i kontaktdonet... det tog mig en stund att förstå varför kommunikationen upphörde så fort programmeraren kopplades ur, den jordade via parallellporten
Ladda sen ner denna lib:
http://hubbard.engr.scu.edu/embedded/avr/avrlib/
Plocka ett exempel från AVRLib och du har allt igång på mindre än 5 min