Javascriptimport qbs CppApplication { consoleApplication: true files: "main.c" cpp.includePaths: ["C:/Development/libopencm3/include"] cpp.libraryPaths: ["C:/Development/libopencm3/lib"] cpp.staticLibraries: ["opencm3_stm32l0"] cpp.defines: ["STM32L1"] cpp.commonCompilerFlags: ["-mcpu=cortex-m0plus"] cpp.linkerFlags: ["-mcpu=cortex-m0plus", "-Wl,--start-group", "-lc", "-lc", "-lnosys", "-Wl,--end-group"] Group { // Properties for the produced executable fileTagsFilter: product.type qbs.install: true }}
C++ (Qt)#include <libopencm3/stm32/rcc.h>#include <libopencm3/stm32/gpio.h> #define LED_GREEN_PIN GPIO4#define LED_GREEN_PORT GPIOB#define LED_RED_PIN GPIO5#define LED_RED_PORT GPIOA static void gpio_setup(void){ /* Enable GPIOB clock. */ rcc_periph_clock_enable(RCC_GPIOA); rcc_periph_clock_enable(RCC_GPIOB); /* set pins to output mode, push pull */ gpio_mode_setup(LED_RED_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED_RED_PIN); gpio_mode_setup(LED_GREEN_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED_GREEN_PIN);} int main(void){ int i; gpio_setup(); while (1) { /* toggle each led in turn */ gpio_toggle(LED_GREEN_PORT, LED_GREEN_PIN); for (i = 0; i < 100000; i++) { /* Wait a bit. */ __asm__("nop"); } gpio_toggle(LED_RED_PORT, LED_RED_PIN); for (i = 0; i < 100000; i++) { /* Wait a bit. */ __asm__("nop"); } } return 0;}