diff options
Diffstat (limited to 'app/main.c')
-rw-r--r-- | app/main.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/app/main.c b/app/main.c new file mode 100644 index 0000000..508580d --- /dev/null +++ b/app/main.c @@ -0,0 +1,57 @@ +#include "project.h" +extern uint32_t dfu_flag; + +void +sys_tick_handler (void) +{ +#if 0 + printf ("fish\r\n"); + keyboard_test (); + mouse_test (); + tablet_test (); +#endif +} + +int +main (void) +{ + int i; + + + rcc_clock_setup_in_hsi_out_48mhz (); + rcc_periph_clock_enable (RCC_GPIOC); + rcc_periph_clock_enable (RCC_GPIOA); + rcc_periph_clock_enable (RCC_AFIO); + rcc_periph_clock_enable (RCC_USART1); + + + usart_init (); + + usb_init (); + + systick_set_clocksource (STK_CSR_CLKSOURCE_AHB_DIV8); + /* 48MHz / 8 = > 6Mhz */ + systick_set_reload (3000000); + /* 6MHz / 3000000 => 2Hz */ + + systick_interrupt_enable (); + systick_counter_enable (); + + gpio_set (GPIOC, GPIO11); + gpio_set_mode (GPIOC, GPIO_MODE_OUTPUT_2_MHZ, + GPIO_CNF_OUTPUT_PUSHPULL, GPIO11); + + + + for (i = 0; i < 0x80000; i++) + __asm__ ("nop"); + + gpio_clear (GPIOC, GPIO11); + + printf ("Hello world main=%p\r\n", main); + printf ("dfu_flag=%08lx\r\n", dfu_flag); + + usb_run (); + + return 0; +} |