brauche hilfe beim quelltext c++

FJK

Erfahrenes Mitglied
Hallo wieso geht mein program nicht (unter win98) ich habe es aus einen buch abgeschrieben und es soll eine einfache ampel steuerung darstellen,
bei dem buch ist auch eine cd bei mit einer exe die funktioniert.
(die leds leuchten)
Bei mein program nicht
Ich habe c++ 5


Code:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <time.h>
#include <conio.h>
#define Par_Ss 0x378
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//===============================================================
void warten(int);
//===============================================================
void outp (unsigned int portadr, unsigned char value)
{
 _asm mov edx,portadr
 _asm mov al, value
 _asm out dx,al
}

unsigned char inportb(unsigned int portadr)
{
 unsigned char value;
 _asm mov edx,portadr
 _asm mov al,value
 _asm out dx,al
}
//===============================================================
 void main (void)
  {
 while (!kbhit())
  {
   outp(Par_Ss,1);
   warten(1000);

   outp(Par_Ss,2);
   warten(1000);

   outp(Par_Ss,4);
   warten(1000);

   outp(Par_Ss,6);
   warten(1000);
   }
}
//===============================================================
void warten(int zeit)
{
 int a;
 a = clock() ;
 while(clock() - a < zeit);
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


Danke im voraus

Gruß flo
 
Erstmal, ein paar Fragen zur "Anamnese" ;-): Kommt ein Compilerfehler oder läuft das Programm erstmal und stürzt dann ab? Oder passiert einfach gar nix. Was für eine "Ampelsteuerung" soll das denn sein? Was für LEDs?
 
Hallo

1. Was ist ein Anamnese?

es kommen zwei fehler

[C++ Warnung] Unit1.cpp(22): W 8002 Compilierung mit Assembler-Sprachfähigkeiten neu gestartet

[C++ Warnung] Unit1.cpp(33): W 8070 Funktion sollte einen Wert zurückgebe

aber das program läuft, die leds leuchten eben nur nicht, aber es kann nicht an denn leds liegen da die exe ja läuft (man kan die exe aber nicht mit borland öffnen)

das program soll folgender massen ablaufen

1. grüne led
2. gelbe led
3. rote led
4. rot und gelbe led
(endlosschleife)

es sind meine ersten versuche mit einen ausgang, da ich keinel lust mehr habe auf die einfachen schul programme (zähler usw)

wenn du eín guttes und verständliches buch über lpt und com ausgänge dan sag es mir bitte

gruß flo
 
Eine Anamnese ist eine Krankheitsvorgeschichte.
So wie ich das jetzt verstehe, steuerst du den Port 0x378 an und sendest da in Endlosschleife Bytes hin. Was hängt denn da an diesem Port und kann das definitiv so angesteuert werden?
Darüberhinaus ist die inportb Funktion falsch, gibt keinen Wert zurück und scheint auch gar nicht erst von nem Port zu lesen.
Probier mal das ganze anders zu lösen:
conio.h includen, dann kannst du die Funktionen _outp und _inp nutzen, um Bytes an 'nen Port zu senden, bzw. von 'nem Port zu lesen. Dann brauchst du keine Assemblerdeklaration und du weißt, dass die Funktionen funktionieren.
 
ok ich werde es mal ausprobieren

wie ich welche adresse ansteuere weiss ich noch nicht (ich habe den quelltext aus einen buch abgeschrieben
Die beiliegende exe benutzt diese ports, also gehe ich davon aus das man das so ansteuern kann

die inport fkt. brauch ich eigendlich nich für dieses program oder?

kannst du mir sagen wie ich die einzelnen pins ansteuere
das mit dem Port 0x378 steht auch im buch blicke da aber noch nicht gans durch

danke flo
 
Ich würde an deiner Stelle vielleicht doch lieber erstmal mit den Schulaufgaben weitermachen. Wenn du nämlich eigentlich keine Ahnung hast, was du da machst, dann würde ich es vielleicht auch lieber lassen, besonders, wenn du direkte Hardwareports ansprichst. Sowas kann dir Windows unter Umständen nämlich sehr übel nehmen.
 
mit den schullaufgaben habe ich keine probleme, (ist auch nichts neues)
und zum ausprobieren nehme ich meinen alten rechner
kannst mir lieber ein paar gutte tutorials entfehlen oder literatur zu diesem thema
 
Hm, nö, hab sowas auch noch nie groß gemacht. Wenn du Bock auf anspruchsvollere Sachen hast, dann versuch ein paar Algorithmen umzusetzen und dich mit Zeigern vertraut zu machen. Bspw. schreib doch ein Programm, dass eine beliebige Funktion als string einließt (edit-feld) und sie dann grafisch darstellt (also den string mathematisch uminterpretieren). Oder was ähnliches.
 
Wenn du Bock auf anspruchsvollere Sachen hast, dann versuch ein paar Algorithmen umzusetzen und dich mit Zeigern vertraut zu machen. Bspw. schreib doch ein Programm, dass eine beliebige Funktion als string einließt (edit-feld) und sie dann grafisch darstellt (also den string mathematisch
uminterpretieren).

das machen wir gerade oder haben es gemacht in der schule
ich bin ein e-komiker und versuche meine beiden hobbys zu verbinden.
 
ich hatte conion.h schon includet
aber wenn ich dann die funktionen _outp und _inp entferne dann kommt die fehlermeldung
aufruf der undefinierten funktion _outp

gruß flo
 

Neue Beiträge

Zurück