stm32f0: added tested example code to reset the Whitebox

tags/0.1.0
S.J.R. van Schaik 8 years ago
parent 24ab1dd9b7
commit 5a8bf83c7b
  1. 44
      source/drivers/reset.c

@ -0,0 +1,44 @@
/* This is our reset code (tested).
*
* TODO: integrate fully within code base.
*/
#include <stdio.h>
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/gpio.h>
static void delay(unsigned ms)
{
unsigned i;
for (i = 0; i < 1000 * ms; ++i) {
__asm__("nop");
}
}
int main(void)
{
rcc_periph_clock_enable(RCC_GPIOB);
rcc_periph_clock_enable(RCC_GPIOC);
gpio_mode_setup(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO11);
gpio_set_output_options(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_25MHZ, GPIO11);
gpio_mode_setup(GPIOC, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO8);
gpio_mode_setup(GPIOC, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO9);
while (1) {
gpio_set(GPIOB, GPIO11);
gpio_clear(GPIOC, GPIO8);
gpio_set(GPIOC, GPIO9);
delay(5 * 5000);
gpio_clear(GPIOB, GPIO11);
gpio_set(GPIOC, GPIO8);
gpio_clear(GPIOC, GPIO9);
delay(5 * 5000);
}
return 0;
}
Loading…
Cancel
Save