Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Schnittstellen Programmierung

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.06.2004, 13:00 Uhr
~Schwabi
Gast


Hallo,
bin dabei ein Bussystem zu konfigurieren, zumindest die Aus- und Eingabe.
Nun hab ich folgendes Problem.
Ich versuche gerade analoge Messwerte zu erhalten, das klappt soweit auch ganz gut, zumindest wenn ich das Programm in einer Funktion ablaufen lasse.
Ich benutze den MFC und einen Dialog.
Hier mal der Code der funzt:
Waehrend der Initialisierung des Dialoges wird der Bus initialisiert und schliesslich die Daten in einer Timerfkt. empfangen.

C++:
BOOL CAnalogEingangDlg::OnInitDialog()
{.........
Controler->Init();

U_bit_byte variable;

variable.bits.b15=1;
variable.bits.b5=1;
variable.bits.b4=1;
variable.bits.b3=1;
Controler->AnalogerEingang1_32Bit_Ausgang_1=variable.byte;
Controler->PD_Out();
    
SetTimer(1,200,NULL);
.......
}

void CAnalogEingangDlg::OnTimer(UINT nIDEvent)
{
Strom2();
Dialog::OnTimer(nIDEvent);
}

void CAnalogEingangDlg::Strom2()
{
char string[20];
U_bit_byte variable;
Controler->PD_In();
variable.byte = Controler->AnalogerEingang1_122I2;
sprintf(string, "%i", variable.byte);
SetDlgItemText(IDC_EDIT1,string);
}



Schliesslich wird der Wert in einem Edit Feld ausgegeben.

So nun will ich aber das ganze so machen das ich verschiedene Messbereiche und Strom bzw. Spannung messen kann.
Und da ist der Haken, ich waehle alles ueber eine KomboBox aus und klicke einen Button. Timer lÄuft (ueberprueft mit Message Box), aber er gibt mir staendig den Wert 0 zurrueck.

Hier der nicht funktionierende Code:


C++:
//Waehrend der Initialisierung des Dialoges werden die Comboboxen korrekt //gefuellt

void CAnalogEingangDlg::OnOK()
{
int combo1_Selection = m_combo1.GetCurSel();
int combo2_Selection = m_combo2.GetCurSel();
U_bit_byte variable;

if (combo1_Selection = 0)
    {
        if (combo2_Selection = 0)
        {
                        Controler->Init();
            variable.bits.b15=1;
            variable.bits.b5=1;
            variable.bits.b4=1;
            Controler->AnalogerEingang1_32Bit_Ausgang_1=variable.byte;
            Controler->PD_Out();
            Strom2();            
        }

.......            //hier kommen noch ein paar andere if anweisungen
                   //es werden nur die Bits geaendert, dies ist noetig um auf dem Bus
                   //einen anderen Messbereich einzustellen.

//Schliesslich kommt die gleiche Timerfkt. wie oben.


Das ist doch vom Prinzip her genau das gleiche, I don't understand javascript:emoticon('')
Kann mir dabei jemand helfen?????

Gruesse Schwabi.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.07.2004, 09:21 Uhr
~Schwabi
Gast


Hat sich erledigt. War ein Fehler in der Initialisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.07.2004, 09:22 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


außerdem vergleicht man mit == und nicht mit =
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.07.2004, 14:47 Uhr
~Schwabi
Gast


Jupp, das kommt bzw. kam dann auch noch dazu.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: