1 post (serial rs232 no VB 2010)

Bom, como meu primeiro post vou colocar algumas dicas de como fazer uma comunicação serial rs232 utilizando o Visual basic 2010 da microsoft.

A principio eu criei um programa bem simples, onde vc cria uma caixa texto e um botão, tudo o que vc escrever na caixa texto sera enviado via serial rs232 quando vc clicar no botão.

entao, o codigo ficou assim:
(para quem é super iniciante em VB, é so pegar o botão e a caixa texto, ai vc da um duplo click no botão e coloca o codigo que vai ser executado quando o botão ser precionado "clicado")


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If SerialPort1.IsOpen Then // essa linha serve para verificar se a port ja esta aberta.
            SerialPort1.Write(TextBox1.Text) // essa linha envia a string via serial.

        Else
            SerialPort1.Open() // aqui é caso o teste de acima de errado, entao a porta esta fechada, e vc deve a
bri-la.
            SerialPort1.Write(TextBox1.Text)// essa linha envia a string via serial.

        End If.

E é só isso, sem nenhum sergredo...

no pic ja é um pouco mais complicado,
além de fazer todas as definições de rx tx, vc ainda deve criar uma string para receber os dados, ou envar...
para enviar uma string do pic para a serial é so fazer:
printf(" o que vc quiser")
para receber vc deve criar uma string. e depois dar o comando getc na string.

Por ex:

#include <18f452.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NOLVP
#use delay(clock=10000000)
#include <LCD.C>
#use rs232(BAUD=9600, XMIT=PIN_C6,RCV=PIN_C7,BITS=8)
#include <stdlib.h>
#include <string.h>




//            VARIAVEIS

char string[38] = "";
int index=0,estado=0;
int flag = 1;

void main()
{


   LCD_INIT();

   for (;;)
   {


      for (index=0;index<1;index++)
      {
      string[index] = getchar();   
      }
      delay_ms(10);    
      printf(lcd_putc, "\f %s",string);
      estado=atof (string); // atof transforma uma string em uma variavel float, tbm existe atoi, e outros
      delay_ms(500);
      printf("este é o primeiro teste do meu programa de comunicação rs 232.
      esta mensagen será enviada via serial rs232. espero que fique tudo certo e funcionando
      perfeitamente");
      delay_ms(500);
      // aqui eu uso o meu programa  em vb para enviar um sinal, se o sinal enviado for 0, entra no case 0 e //seta o pinoc5, so como exemplo.
      switch (estado)
      {
      case 0:
      { output_high(pin_c5);
      printf(lcd_putc, "\f luz ligada");    
      break;
      }
      case 1:
   
      }
   
      //lcd_pos_xy(1,1);
      //printf(lcd_escreve,("%s"), string);
     /* for(index=4; index < (6+4); index++)
      {
         stringAux[(index - 4)] = string[index];
      }
      ValorRX = atof(stringAux);
  */

   }
   }

ESPERO TER AJUDADO, PQ EU MESMO NÃO CONSEGUI ENCONTRAR NADA SIMPLIFICADO NA INTERNET. ABRAÇO A TODOS, E POR FAVOR COMENTE...

Comentários

Postagens mais visitadas deste blog

O que é PSOC??

Controle de motor de passo via serial - part2 (programa)

Integrando esp32 e ads1115