odante2
(usa Ubuntu)
Enviado em 12/02/2012 - 20:23h
Caros amigos tudo tranquilo?
Desculpe se a duvida é muito amadora, mas estou
a dias parada nessa parte em meu projeto.
Estou tendo dificuldades para exibir o valor(double) de uma variavel, que seu valor fica mundando a cada instante (com um sensor instalado na porta paralela)para mais e para menos.
O codigo esta funcionando quanto a comparação dos pinos, esta tomando as decisões if corretamente, verifiquei isso, trocando a expressão de soma ou subtração das variaveis, por um comando para enviar um sinal para porta paralela, e funcionou bem.
minha duvida é como exibir o valor da variavel na tela do programa?
estou manipulando a varivel de forma incorreta?
o codigo em questão:
void __fastcall TForm1::Button1Click(TObject *Sender)
{ //CHAMADA BOTAO 1
// VARIAVEIS CRIADAS ANTES DO WHILE
unsigned char Byte; // VARIAVEL PARA RECEBER BYTE DA PORTA PARALELA.
unsigned char A; //PINO A DO ENCOLDER.
unsigned char B; //PINO B DO ENCOLDER.
unsigned char AV; // VARIAVEL AUXILIAR DO PINO A PARA COMPARAR VALOR.
unsigned char BV; // VARIAVEL AUXILIAR DO PINO B PARA COMPARAR VALOR.
double REAL;
double PULSO;
REAL = 120;
PULSO = 0.01;
AV = A;
BV = B;// VARIAVEL AUXILIAR DO PINO B PARA COMPARAR VALOR.
while (true) //LOOP ETERNO.
//=============================================================
// MONITORA OS PINOS DO ENCOLDER (S1 E S2) E COMPARA SE A = B SOMA O PULSO
// CASO CONTRARIO A != B DIMINUI O PULSO DO ENCODER.
// ============================================================
//
{
Byte = Lpt->Recebe(0x379); //RECEBE OS BITS E CARREGA NA VARIAVEL Byte.
A = ( (Byte & BIT1) == BIT1) ;
B = ( (Byte & BIT2) == BIT2) ;
if ((AV !=A) || (BV !=B))// COMPARA SE HOUVE ALTERAÇAO DE PULSO
{
if(B==AV) // SENTIDO HORARIO DO ENCODER.
REAL = REAL + PULSO;
if(B!=AV) // SENTIDO ANTI-HORARIO DO ENCODER.
REAL = REAL - PULSO;
AV= A ; //IGUALA AS VARIAVEIS PARA EVITAR
BV = B; // CARREGAMENTO FALSO DO PULSO.
Label1->Caption = REAL;
}
}
}
OBS: detalhes do projeto, ou o codigo completo, ou ate parceiros para desenvolver juntos é só entrar em contato. odante2@uol.com.br ou por aqui mesmo.
VIVA VIVA!
Seteecinquenta.