RS232 adapteris reikalingas suderinti TTL ir RS232 signalų lygius. Dažniausiai gaminant koki tai projektėlį kuriame naudojamas mikrokontroleris prisireikia RS232 interfeiso, bet ne visada yra noras ir reikalas plokštėje dėti papildomus elementus tokius kaip MAX232 bei lizdą COM laidui. Tai užima vietos o ir kainuoja papildomus pinigus. Patogiau yra išvesti 4 kontaktus prie kurių būtų galima prijungti išorinį RS232 adapterį:
Ir PCB:

Pridedu Eagle sutrasuotą plokštę jeigu kils noras patiems pasidaryti: rs232_adapter.zip.
Viską sudėjau į po ranka pasitaikiusią dėžutę:

TXD ir RXD diodai šviečia pastoviai, nes ramybės būsenoj laidų įtampos yra 5V. Kai duomenys yra siunčiami arba priimami atitinkamai mirksi diodai.
Belieka paleisti paprastą testuką. Prijungiu adapterį prie turimos Atmega8 plokštės, parašau paprastą programėlę naudojant WinAVR ir AVRLIB biblioteką:
//----- Include Files ---------------------------------------------------------
#include <avr/io.h>
#include <avr/iom8.h>
#include "global.h"
#include "uart.h"
#include "rprintf.h"
//----- Begin Code ------------------------------------------------------------
int main(void)
{
// initialize the UART (serial port)
uartSetBaudRate(9600);
uartInit();
//all rprintf statements use uart for output
rprintfInit(uartSendByte);
// print a little intro message
rprintf("Welcome to the UART test!\r\n");
while(1){};
return 0;
}
Kad galėtume stebėti siunčiamus duomenis parsisiunčiam Bray's terminal programėlę - COM portų terminalą. Pasileidžiam ją(instaliuoti nieko nereikia) ir pasirenkame reikiamus parametrus: COM portą, baud rate ir kt.:
Perkraunam AVR plokštę ir štai rezultatas.
P.S. galima schema truputi patobulinti: Indikacinius diodus jungti ne į žemę, bet nuo pliuso. Tuomet diodai įsijunginės kai duomenys bus siunčiami.
Skelbti naują komentarą