1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Porta serie em c

Discussão em 'Programação' iniciada por hugo89, 31 de Março de 2009. (Respostas: 0; Visualizações: 1659)

  1. hugo89

    hugo89 Power Member

    Boa noite,

    gostaria de saber, se algm souber, um site de tuturiais de programação em C para comunicar através da função outportb(), eu já tenho um programa
    Código:
    // exemplo para testar o funcionamento da porta série
    // adaptado de “Interfacing the serial RS232 port v5.0”
    // de [URL="http://www.beyondlogic.org"]www.beyondlogic.org[/URL]
    #include <dos.h>
    #include <stdio.h>
    #include <conio.h>
    #include <inpout.h>
    #define PORT1 0x2F8 // define endereço para a porta série COM2
    int main (void)
    {
    int c, ch;
    outportb(PORT1+1,0); // desactiva as interrupções
    outportb(PORT1+3,0x080); // coloca o DLAB a 1
    outportb(PORT1+0,0x03); // configura o baud-rate
    outportb(PORT1+1,0); // para 38,400 bps
    outportb(PORT1+3,0x03); // 8 bits, sem paridade e 1 stop bit
    outportb(PORT1+2,0x0c7); // FIFO controle
    outportb(PORT1+4,0); // activa DTR, RTS e OUT2
    printf("\n Programa para testar o funcionamento da porta série. Prima ESC para sair \n");
    do
      {
       c= inportb(PORT1+5); //verifica se recebeu algum caractere
       if (c&1)
          {
          ch=inportb(PORT1); //caso tenha recebido vai lê-lo
          if (c=!248)
          printf ("%d",ch); // visualiza o caractere recebido
          }
       if (kbhit()) // se for premida alguma tecla?
          {
          ch=getch(); // lê a tecla
          outportb (PORT1, ch); // envia pela porta série
          }
       }while (ch!=27); // enquanto não for premida a tecla de ESC
    }
    
    mas com versoes antigas do windowns dá para cima do xp n da, este programa tem um include, #include <inpout.h> que é um include modificado, de um programa do site rogercom, e dá para aceder as portas mesmo cm windows acima do xp tb ja tntei usar um prog xamado userport, que supostamente abre o endreço das portas, no xp tve smpre a funcar, no vista, no meu pc encrava e reinicia, se alguem n importa-se podia-m arrnjar a função de mandar e recebr dados pela dita cuja porta série?
    tou a trabalhar com a COM2 no windows vista ou xp, indifrente e com o compilador DEV-C a programar em C.

    Obrigado
     

Partilhar esta Página