Você está na página 1de 4

1.

Comunicao serial
Para realizarmos comunicao serial com o micro controlador PIC deve ser usada a seguinte sintaxe: #use rs232 (opes) Algumas opes que podemos usar esto abaixo e devem ser separadas por vrgula: BAUD=x Define a taxa de transferncia. XMIT=pin Define o pino de transmisso. RCV=pin Define o pino de recepo. RESTART_WDT Reinicia o WDT enquanto aguarda chegada de um caractere pela linha serial. getc() INVERT Inverter a polaridade dos pinos serial (normalmente no necessria quando conversor de nvel, como o MAX232). PARITY=X Onde x E, N, ou O. ENABLE=pin O pino especificado ser alto durante uma transmisso Ex: #use rs232(baud=9600, xmit=PIN_A2,rcv=PIN_A3) Obs.: Mesmo que o micro controlador possua oscilador interno, recomendado o uso de um cristal para gerar o clock. Pois a temperatura e tenso de alimentao tornam o oscilador interno instvel. Para comunicar dispositivos que trabalham com tenso TTL com outro que use tenso RS232 necessrio o uso de um conversor, como o da imagem abaixo. Este circuito tambm pode ser obtido atravs do chaveamento de tenses atravs de dois transistores.

Algumas sintaxes usadas na comunicao serial: set_uart_speed() Altera a velocidade da comunicao da USART interna. Ex.: set_uart_speed( 9600 ); getc() Aguarda a chegada de um caractere pela linha serial.

putc() gets()

get_string() puts() printf() kbhit()

Ex.: X = getc(); Escreve um dado na sada serial. L uma string de caracteres. Ex.: char X[25]; gets( X ); printf (%s, X); L uma string com nmero mximo de caracteres. get_string( dado , comprimento ); Escreve uma string na sada serial. puts( dado ); Imprime um dado na sada serial. Verifica se h um caractere sendo recebido.

1.1. Interrupo serial


Para otimizar os processos devemos usar a interrupo serial quando queremos realizar comunicao. Com ela no h necessidade de verificar a todo tempo o recebimento de dados, pois ao receber um sinal pela UART o micro controlador para seus processos e executa os comandos que esto na interrupo serial. Para que isso funcione devem-se habilitar as interrupes e criar a funo serial. #int_RDA RDA_isr() { gets(valor); // armazena os dados que esta recebendo dentro do vetor valor } . . . void main() { enable_interrupts(GLOBAL); enable_interrupts(INT_RDA); } 1.1.2. Simulao serial Os seguintes softwares sero usados para facilitar a compreenso do contedo: Proteus (ISIS). CCS PCW. Virtual Serial Ports Emulator (VSPE). RComSerial. 1.1.2.1. Virtual Serial Ports Emulator (VSPE) O VSPE um programa que virtualiza portas seriais no computador. Atravs dele possvel emular duas portas seriais conectadas logicamente entre si. Nos testes a seguir usaremos a COM5 como sendo o computador, e a COM4 o circuito simulado. Abaixo algumas configuraes do VSPE. Abra o VSPE, clique em Device e aps em Create.

Em Device type selecione Pair e clique em avanar.

Em seguida, deve-se selecionar a COM4 como Virtual Port 1, COM5 como Virtual Port 2 e clicar em concluir. Aps esse procedimento deve-se observar a mensagem de Initialization OK, e o Status deve estar como Ready. O VSPE ficara minimizado ao lado do relgio. 1.1.2.2 Simulao serial Proteus (ISIS) No ISIS feita a montagem de todo o circuito, aps isso se deve adicionar um componente chamado COMPIM (interface COM) e realizar a ligao de seus pinos no circuito.

Pino 2-RXD RX do Controlador | Pino 3-TXD TX do Controlador Conforme a figura abaixo.

No passo seguinte devesse clicar duas vezes sobre o componente COMPIM e realizar as suas configuraes, como porta e taxas usadas. Faa os ajustes necessrios e selecione COM4 em Physical Port.

1.1.2.3. RComSerial Para os testes finais usaremos o RComSerial . Este software permite enviar e receber dados de um circuito simulado, ou enviar e receber dados de uma porta serial fsica. Abaixo algumas configuraes do RComSerial. Na rea de configuraes devemos selecionar a porta COM5 e ajustar as outras opes de acordo com o nosso circuito.

Depois de terminadas todas as configuraes podem ser iniciadas as simulaes com ISIS, no qual o circuito dever interagir com os valores enviados pelo RComSerial.

Você também pode gostar