Hirdetés

Új hozzászólás Aktív témák

  • tototos
    addikt

    Igen. Tulajdonképpen objektum orientáltan kell programozni C-ben, és ezt valahogy így tudod megoldani, hogy kávzi a struktúra az objektum paramétere, és a get/set függvény a metódusa.

    De van egymásik lehetőség is, ami C-seb. Ha függvényekkel dolgozol, akkor amikor átadod a struktúrát, akkor const-ként kell átadni, mert nem akarod, hogy változtatva legyen (pointernél olyat is lehet csinálni, hogy a stuktúra címét ne lehessen változtatni). Így, mivel konstansként akarod használni a függvényen belül, és ne talán tán megváltoztatod az egyik értéket, akkor arra a fordító hibát fog dobni.

    Kicsit vázolom a helyzetet, hogy most mi van készen.

    .h fájl:
    typedef struct{
    Signal_Types name;
    uint16_t id;
    uint8_t pos;
    uint8_t length;
    uint8_t order;
    float factor;
    float offset;
    uint16_t binValue;
    float realValue;
    }Signal_TypeDe
    f;
    Ezek közül a binValue és realValue-n kívül mindegyik csak egyszer kap értéket.

    .c fájl:

    static Signal_TypeDef SIGNALS[9];
    uint8_t CAN_Signal_Init()
    { /*Itt kap értéket a struktúra tömb */}

    uint8_t get_Signal(Signal_struct** signal)
    { /*Ezt a függvényt hívják meg a fejlesztők hogy megkapják a signal struktúrát */}

Új hozzászólás Aktív témák