USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Enviar e receber string pela serial
Wellington
não registrado
ENUNCIADA !
Postada em 07/08/2009 07:14 hs   
Fábio, dei um click com o botão direito do mouse sobre o componente Mscomm, em
propiedades marquei Rthreshold = 1, fiz um form composto de um textbox e um botão
para enviar, mas quando rodo (run), só é mostrado na tela um uma janela branca
com o cursor piscando na primeira linha, mas não aparece o resto do meu form com
o botão, e não consigo receber nada pela serial, vindas da MCU!
Wellington
 
   
Wellington
não registrado
ENUNCIADA !
Postada em 07/08/2009 19:52 hs   
Colegas, quando dou rum, não aparece meu formulario com botão e um
textbox, apenas caixa branca com o cursor pulsante, mas quando envio
mensagens (pela serial) atraves da MCU,nada aparece!
 
   
APW
S.J.RIO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 08/08/2009 15:00 hs         
tenta tirar o while o Doevents e o Wend,... qual é o hardware que vc esta usando na com1 para enviar os dados?
   
APW
S.J.RIO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 08/08/2009 15:03 hs         
se nao der certo, essa semana vou pegar o projeto com o modelo de microcontrolador que usei certinho e passo para vc,,,,não tem segredo, vc vai ver que é bem simples esse tipo de comunicação...

abs...

até mais...
   
Wellington
não registrado
ENUNCIADA !
Postada em 08/08/2009 16:25 hs   
// Abaixo parte do meu código, usando o PIC16F877A //
// atraves da linhas: (printf("LED 8 LIGADO"); envio para serial //
 
// ENVIO DE STRING PARA MCU, PELA PORTA SERIAL //
#include <16F877.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#use delay(clock=4000000)
#fuses XT, PUT, NOWDT, NOBROWNOUT, NOLVP
#use rs232(BAUD=9600, parity=N, BITS=8, XMIT=pin_c6, RCV=pin_c7)
#include <regs_16F87X.h>
#define MAX_BUFFER 15           // Define tamanho do BUFFER recepcao 15 //
char RECEPCAO[MAX_BUFFER+1]; // Define variavel recepcao = max_buffer 15+1
boolean COMANDO_ENVIADO = false; // Inicialmente definido como falso

#define lcd_enable    pin_c4   
#define lcd_rs      pin_c5     
#define lcd_d4      pin_c3     
#define lcd_d5      pin_c2     
#define lcd_d6      pin_c1     
#define lcd_d7      pin_c0     
#include <mod_lcd.c>
//-------------------------------------------------//
//Interrupção de recebimento de caracter pela UART.
//-------------------------------------------------//

void inicio1()
{
int pos;
pos=16;
while(pos>=0 && pos<=16 || pos>=256 && pos<=256)
{
lcd_pos_xy(1,1);
lcd_escreve("                  ");
lcd_pos_xy(pos,1);
lcd_escreve("   PCI TECLADO 8CH");
delay_ms(200);
pos=pos-1;
}
delay_ms(500);
return;
}

void inicio2()
{
int pos;
pos=16;
while(pos>=0 && pos<=16 || pos>=256 && pos<=256)
{
lcd_pos_xy(1,2);
lcd_escreve("                 ");
lcd_pos_xy(pos,2);
lcd_escreve(" VERSAO 01  BY-WA");
delay_ms(200);
pos=pos-1;
}
delay_ms(500);
return;
}
#int_rda
void Serial_Recebe_Car()
{
static unsigned char ch;
static int QTDE_RECEBIDA=0;
ch = getc(); //Pega o caracter no registrador da UART.
RECEPCAO[QTDE_RECEBIDA] = ch; //Guarda o caracter no buffer.
if( RECEPCAO[QTDE_RECEBIDA] == '>' ) // se for (*) finaliza a string.
{
RECEPCAO[QTDE_RECEBIDA+1] = '
   
APW
S.J.RIO PRETO
SP - BRASIL
ENUNCIADA !
Postada em 12/08/2009 02:28 hs         
olha, dando uma olhada ai na sua primeira pergunta (e conversando com o cara que montou o microcontrolador),,, acho que vc vai ter que mandar um caracter de cada vez mesmo,,, pois, o processador trabalhando apenas 8 bits ele só vai receber um caracter por vez... no meu caso usamos o microcontrolador 8051,  mas independente disso a comunicação serial é uma via de mão dupla e chama-se serial pq os caracteres sao enviados em serie sequencialmente...isso significa que quando o processador esta enviando ele nao pode receber simultaneamente, resumindo tem que ser um por vez mesmo...num sei acho que vc vai ter que montar uma rotina no pic que identifique esses caracteres, tipo recebe um caracter e armazena para liberar a recepção do seguinte...apos a comunicacao ser concluida (stop bit) a palavra é remontada e enviada para lcd...
   
Página(s): 2/2     « ANTERIOR  


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página