tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
JA
ANTWORTEN
20
ZUGRIFFE
1137
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    polj polj ist offline Mitglied
    Registriert seit
    Jun 2005
    Beiträge
    14
    Das bekomme als fehler bei starten Ausführen von ioblink.exe D:\SDK\Samples\Simple IO\C\ioblink.cpp(76) : warning C4101: 'relnum' : Unreferenzierte lokale Variable
    Linker-Vorgang läuft...
    LINK : fatal error LNK1104: Datei "Release/ioblink.exe" kann nicht geoeffnet werden
    Fehler beim Ausführen von link.exe.
    Browse-Informationsdatei wird erstellt...

    ioblink.exe - 1 Fehler, 1 Warnung(en)

    wenn stare ich dise exe unter DOS dieses Ausführen einfach haltet (läuft bis ..) auf einem Platz und dann ich nichts machen. Ok vermute ich der fehler ist bei mir in Code, aber warum das ist auch so beim originalen Programm. Das kann ich nicht verstehen?
     

  2. #17
    polj polj ist offline Mitglied
    Registriert seit
    Jun 2005
    Beiträge
    14
    meine exe ist im Ordner Release
     

  3. #18
    Registriert seit
    Apr 2002
    Ort
    Delmenhorst (Niedersachsen)
    Beiträge
    3.567
    moin


    Guck mal ob die Datei noch offen ist, im Taskmanager.


    mfg
    umbrasaxum
     

  4. #19
    polj polj ist offline Mitglied
    Registriert seit
    Jun 2005
    Beiträge
    14
    nach einem Restart alles läuft, aber ich habe Problem mit diesen Datentypen int und ulong.
    Im Beispielprogramm gibt es einen Method, der in class Datei beschrieben ist. Wenn ich mochte eine neue Variable erstellen (ich weis nicht ob das darf), aber wo muss ich diese deklarieren:? in .class, in main, oder im Method, der inm Anfag meines Programm ist?
     

  5. #20
    Registriert seit
    Apr 2002
    Ort
    Delmenhorst (Niedersachsen)
    Beiträge
    3.567
    moin


    In der Klasse solltest du nichts mehr erstellen!

    Zeig mal den Code ausschnitt, wo du diese Methode aufrufst, der du ein int übergeben willst.


    mfg
    umbrasaxum
     

  6. #21
    polj polj ist offline Mitglied
    Registriert seit
    Jun 2005
    Beiträge
    14
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    
    #include "stdafx.h"
    #include "time.h"
    #include "iowkit.h"
     
    // Write simple value
    BOOLEAN [B]WriteSimple(IOWKIT_HANDLE devHandle, DWORD value)[/B]
    {
        IOWKIT_REPORT rep;
        //int portnr;
        //printf("value ist %d, port ist %d\n",value,portnr);
     
        // Init report
        rep.ReportID = 0;
        rep.Value = 0xFFFFFFFF; //00000000;
        switch (IowKitGetProductId(devHandle))
        {
        // Write simple value to IOW40
        case IOWKIT_PRODUCT_ID_IOW40:
            rep.Bytes[portnr] = (UCHAR) value;
            return IowKitWrite(devHandle, IOW_PIPE_IO_PINS,
                (PCHAR) &rep, IOWKIT40_IO_REPORT_SIZE) == IOWKIT40_IO_REPORT_SIZE;
        // Write simple value to IOW24
        case IOWKIT_PRODUCT_ID_IOW24:
            rep.Bytes[3] = (UCHAR) value;
            return IowKitWrite(devHandle, IOW_PIPE_IO_PINS,
                (PCHAR) &rep, IOWKIT24_IO_REPORT_SIZE) == IOWKIT24_IO_REPORT_SIZE;
        default:
            return FALSE;
        }
    }
    int main(int argc, char* argv[]); 
     
    int main(int argc, char* argv[])
    {
        IOWKIT_HANDLE iows[IOWKIT_MAX_DEVICES];
        int i, j, fnum, relnum,portnr;
        ULONG bits;
        int numIows;
        IOWKIT_REPORT rep;
        WCHAR sn[9];
        BOOLEAN rc;
        DWORD pid;
        IOWKIT_HANDLE devHandle;
     
     
       //eingefügt zum Lesen von argc und argv
        printf("argc ist %d\n", argc);
     
        if (argc>0)
        {
            for (i=0;i<=argc-1;i++)
            {
                   printf("argv[%d] ist %s\n",i,argv[i]);
            }
        }
                   if (argc==3)
        {
                      fnum=atoi(argv[1]);
          portnr=atoi(argv[2]);
          printf ("Fehlernummer ist %d\n",fnum);
          printf ("device ist %d\n",portnr);
                     }
        else 
        {portnr=0;
         printf("Portnummer wurde auf 0 gesetzt!\n");
        }
    // Open device
    .........................
    ......................  
    // Init report
        // Report ID 0 is for writing to 32 input/output pins
        rep.ReportID = 0;
        printf("Blinking LEDs...\n");
        //srand(time(NULL));
        // Blinking'
        for (i = 0; i < 12; i++)
        {
            //bits = rand();
            // Make every IOW blink
            for (j = 0; j < numIows; j++)
            {
                // Write to simple endpoint
                //rc = WriteSimple(iows[j], fnum);
                printf(".");
                [B]rc = WriteSimple(iows[j], fnum); //, portnr[/B]
                // Check for error
                if (!rc)
                printf("Cannot write, err %d\n", GetLastError());
            }
            // Sleep for 25ms
            Sleep(2500);
        }
        printf("\nBlinking complete\n");
        // Set LEDs off
        for (i = 0; i < numIows; i++)
            // Write to simple endpoint
            WriteSimple(iows[i], 0xFFFFFFFF);
        for(i = 0; i < 10; i++)
        {
     
            // Read immediate
            rc = IowKitReadImmediate(iows[0], &bits);
            //rc = IowKitReadImmediate(iows[0], [B]&fnum[/B]);
            printf("%d) ReadImm(): rc=%d bits=%x\n", i, rc, bits);
            //printf("%d) ReadImm(): rc=%d fnum=%x\n", i, rc, fnum);
        
            Sleep(100);
        }
        // Close device
        IowKitCloseDevice(devHandle);
    out:
     
        return 0;
    }

    OK, ich möchte in diese WriteSimple endpoints statt DWORD value --fnum schreiben, auch portnr (portnummer) auch int. Aber diese Funktion ist so deklariert, dass ich darf nur eine Wert schreiben. Diese fnum muss ich übertragen und auf meine Release schreiben(steuern) und dann dieser geschriebene Wert auf Ausgang lesen mit ReadImm.Diese ReadImm liest letzte Zustand.Damit ich sehe, was habe ich geschrieben, gibt se Lichtdioden, aber auf anderem Portnummer, deshalb brauche ich auch diese portnr.
    Ich hoffe, dass ich meine Aufgabe gut erklärt habe. Wenn du kannst etwas raten, werde ich freuen.
    Danke noch einmal
     

Ähnliche Themen

  1. Suche VBA Programmierer für Umwandlung VBS nach VBA
    Von Drohne im Forum Stellenangebote (unentgeltlich)
    Antworten: 3
    Letzter Beitrag: 24.09.10, 12:17
  2. Farbraum-Umwandlung von sRGB nach Lab
    Von Nasenbaer im Forum Java
    Antworten: 2
    Letzter Beitrag: 02.04.09, 13:37
  3. Umwandlung von string nach char
    Von sunmania im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 25.12.07, 14:23
  4. Problem bei der Umwandlung von RGB nach HexaDezimal
    Von rueD im Forum VisualStudio & MFC
    Antworten: 5
    Letzter Beitrag: 07.11.07, 12:29
  5. Umwandlung von RGB Modus nach CMYK
    Von oaki im Forum Photoshop
    Antworten: 6
    Letzter Beitrag: 25.08.06, 12:38