• xthexder@l.sw0.com
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    16 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
        ·
        7 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
          ·
          1 hour 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