add binary counter example

This commit is contained in:
2024-11-23 12:15:49 +05:30
parent dead0ea51e
commit c6b07ae2f7

View File

@@ -224,3 +224,25 @@ Code to turn the fan on and off with a 2 second delay:
} }
``` ```
## Binary LED Counter
This example uses 5 LEDS to visualize a 5 bit binary counter. Mask commands are used to set the LEDS simultaneously.
```c
int pinMask = 0b1111100000000000;
int dirMask = 0b1111100000000000;
int counter = 0;
gpio_init_mask(pinMask);
gpio_set_dir_masked(pinMask, dirMask);
while (true)
{
gpio_put_masked(pinMask, counter<<11);
counter++;
sleep_ms(500);
}
```
`gpio_put_masked` has similar characteristics as other masked functions. This will set the output pins according to the second argument simultaneously, `counter<<11` in this case. Counter is left shifted by 11 bits to align with the mask.
if counter is `11001`, `counter<<11` will be `1100100000000000`.