LED blink using hardware counter ================================ .. image:: images/led_pocket_beagle.png :width: 598 :align: center :height: 400 :alt: LED blink using hardware counter Code ---- .. code:: python while : true { start_counter(); while : read_counter() < 200000000 { digital_write(P1_31, true); } stop_counter(); start_counter(); while : read_counter() < 200000000 { digital_write(P1_31, false); } stop_counter(); } - Following code works on PocketBeagle, to use on other boards, please change the pins accordingly. Explanation ------------ This code runs a never ending while loop, since it is ``while : true``. Inside ``while`` it starts the counter, then in a nested while loop, which runs as long as ``read_counter`` returns values less than 200000000, so for 200000000 cycles, HIGH is written to header pin P1_31, and after the while loop ends, the counter is stopped. Similarly counter is started again, which runs as long as ``read_counter`` returns a value less than 200000000, so for 200000000 cycles, LOW is written to header pin P1_31, and after the while loop ends, the counter is stopped. This process goes on endlessly as it is inside a never ending while loop. Here, we check if ``read_counter`` is less than 200000000, as counter takes exactly 1 second to count this much cycles, so basically the LED is turned on for 1 second, and then turned off for 1 second. Thus if a LED is connected to the pin, we get a endlessly blinking LED.