• Croquette@sh.itjust.works
    link
    fedilink
    arrow-up
    6
    ·
    18 hours 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
      arrow-up
      6
      ·
      edit-2
      17 hours 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
        arrow-up
        2
        ·
        15 hours 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@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 hours 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
            arrow-up
            1
            ·
            2 hours 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