diff options
author | Karl Palsson <karlp@tweak.net.au> | 2015-10-16 21:56:42 +0000 |
---|---|---|
committer | Karl Palsson <karlp@tweak.net.au> | 2015-10-17 02:15:58 +0000 |
commit | 8d538b3935842204c7a545184df302958fc2015d (patch) | |
tree | 94feaf5cb9d44ba2cfb2ada45e2cd9e9cdcaf7ee /tests/adc-power/main-stm32f4-disco.c | |
parent | 0bcc5d5efd70ed4564c141a7f38f78f52ea088a0 (diff) | |
download | olsndot-8d538b3935842204c7a545184df302958fc2015d.tar.gz olsndot-8d538b3935842204c7a545184df302958fc2015d.tar.bz2 olsndot-8d538b3935842204c7a545184df302958fc2015d.zip |
stub adc on/off test code.
Needs a pot on PA0, should get the temperature input working as well.
Diffstat (limited to 'tests/adc-power/main-stm32f4-disco.c')
-rw-r--r-- | tests/adc-power/main-stm32f4-disco.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/adc-power/main-stm32f4-disco.c b/tests/adc-power/main-stm32f4-disco.c new file mode 100644 index 0000000..f02e610 --- /dev/null +++ b/tests/adc-power/main-stm32f4-disco.c @@ -0,0 +1,52 @@ +/* + * Oct 2015 Karl Palsson <karlp@tweak.net.au> + */ + +#include <errno.h> +#include <stdio.h> +#include <unistd.h> +#include <libopencm3/cm3/nvic.h> +#include <libopencm3/stm32/adc.h> +#include <libopencm3/stm32/dac.h> +#include <libopencm3/stm32/gpio.h> +#include <libopencm3/stm32/rcc.h> +#include <libopencm3/stm32/usart.h> + +#include "trace.h" +#include "adc-power.h" + +#define LED_DISCO_GREEN_PORT GPIOD +#define LED_DISCO_GREEN_PIN GPIO12 + +int main(void) +{ + int i; + int j = 0; + rcc_clock_setup_hse_3v3(&hse_8mhz_3v3[CLOCK_3V3_168MHZ]); + rcc_periph_clock_enable(RCC_GPIOD); + printf("hi guys!\n"); + /* green led for ticking */ + gpio_mode_setup(LED_DISCO_GREEN_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, + LED_DISCO_GREEN_PIN); + + rcc_periph_clock_enable(RCC_GPIOA); + gpio_mode_setup(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO0); + gpio_mode_setup(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO1); + + adc_power_init(); + while (1) { + adc_power_task_up(); + gpio_toggle(LED_DISCO_GREEN_PORT, LED_DISCO_GREEN_PIN); + + for (i = 0; i < 0x1000000; i++) { /* Wait a bit. */ + __asm__("NOP"); + } + adc_power_task_down(); + gpio_toggle(LED_DISCO_GREEN_PORT, LED_DISCO_GREEN_PIN); + for (i = 0; i < 0x1000000; i++) { /* Wait a bit. */ + __asm__("NOP"); + } + } + + return 0; +} |