-
        

Ergebnis 1 bis 3 von 3

Thema: schiebeoperation

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    31.08.2005
    Beiträge
    53

    schiebeoperation

    Anzeige

    hallo und gesundes neues!!
    cih habe folgendes problem: ich möchte aus zwei bytes (addr.low und addr.med) eine short-variable (adresse, addr.low niederwetige byte und addr.med höherwertige byte) machen.

    mein code:

    void exram_write(threebyte *addr,BYTE dat) // nur für Debugging
    {
    short a,b,j;
    a=( short)addr->low;
    b=( short)addr->med;
    j = ((b << 8 ) + a);
    ErsatzXRAM.buf[j]=dat;
    } // Ende Debugging

    also beim debuggen ist a z.B. 3 und b null. jetzt muss doch j auch 3 sein oder? also bei mir ist es immer null. ist denn mei quellcode richtig

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    31.08.2005
    Beiträge
    53
    hab ich.
    j wird in der oberschleife verwendet. komischerweise gabs keine fehlermeldung oder warnung.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    am besten geht sowas über ein Komposit:
    Code:
    typedef union
    {
       unsigned char byte[2];
       unsigned short word;
       struct
       {
           unsigned char low;
           unsigned char high;
       };
    } data_t;
    
    data_t data;
    
    ...
       data.word = 1234;
       data.b[0] = ...;  //low-Teil
       x = data.low;  //low-Teil
    Disclaimer: none. Sue me.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •