Diese Warnung bringt er gerne, wenn man mit Pointer arbeitet, das sagt garnix.
Übrigens: es ist nicht notwendig, aus den Pointer das DDRx Register zu ermitteln: Alle IO Register haben die gleiche struktur
Eventuell mit ausreichend "volatile"s beflasternCode:typedef struct { uint_8_t Pin; // in uint_8_t Ddr; // control uint_8_t Port; // out } IO_REG; // Aufruf outSet((IO_REG*)&Pinb, 3, 1 ) uint8_t outSet(IO_REG* port, uint8_t pin, uint8_t level) { port->Ddr |= (1 << pin); // DDR auf Output if (level) port->Port |= (1 << pin); // Port.pin = 1 else port->Port &= ~(1 << pin); // Port.pin = 0 return level; }







Zitieren

Lesezeichen