-
Notifications
You must be signed in to change notification settings - Fork 299
/
Copy pathmain.c
28 lines (23 loc) · 788 Bytes
/
main.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright (c) 2022 Cesanta Software Limited
// All rights reserved
#include "hal.h"
static volatile uint32_t s_ticks;
void SysTick_Handler(void) {
s_ticks++;
}
int main(void) {
uint16_t led = PIN('B', 7); // Blue LED
gpio_output(led); // Set blue LED to output mode
uart_init(UART_DEBUG, 115200); // Initialise UART
uint32_t timer = 0, period = 500; // Declare timer and 500ms period
for (;;) {
if (timer_expired(&timer, period, s_ticks)) {
static bool on; // This block is executed
gpio_write(led, on); // Every `period` milliseconds
on = !on; // Toggle LED state
printf("LED: %d, tick: %lu\r\n", on, s_ticks); // Write message
}
// Here we could perform other activities!
}
return 0;
}