• @Croquette@sh.itjust.works
    link
    fedilink
    612 days ago

    I am working with C in embedded designs and I still use 1 or 0 for a bool certain situations, mostly lines level.

    For whatever pea-brained reason, it feels yucky to me to set a gpio to true/false instead of a 1/0.

    • @xthexder@l.sw0.com
      link
      fedilink
      6
      edit-2
      11 days ago

      GPIOs are usually controlled by a single bit of a register anyway. Most likely you need to do something like:

      // Set high
      PORTB |= 1 << PINB5;
      // Set low
      PORTB &= ~(1 << PINB5);
      
      • @Croquette@sh.itjust.works
        link
        fedilink
        211 days ago

        I am a lazy dev (not really, clients always want fast code), so I use the provided HAL libraries 99.9% of the time.

        But I have seen code where someone would write something like

        gpio_write(PIN_X, true) 
        

        and it always stood out to me.

        • JackbyDev
          link
          fedilink
          English
          111 days ago

          Define on as true or something? Or maybe that’s more confusing. I’m not a C dev so I’m not gonna pretend to understand idiomatic microcontroller code lol.

          • @Croquette@sh.itjust.works
            link
            fedilink
            111 days ago

            Sometimes, people do that. But using 0/1 is explicit enough since you can refer to a line as ‘1’ or ‘0’ for high/low on the hardware as well