int main( void) { struct itimer Blink_Timer; /*At this stage the microcontroller clock setting is already configured, this is done through SystemInit() function which is called from startup file (startup_stm32f10x_xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f10x.c file */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); led_init(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE); timer_init(); lse_init(); led_init(); rs485_init(); bacnet_init(); timer_interval_start(&Blink_Timer, 125); for (;;) { if (timer_interval_expired(&Blink_Timer)) { timer_interval_reset(&Blink_Timer); led_ld3_toggle(); } led_task(); bacnet_task(); } }
void app_main() { copy_static(); /* Need to do this before I/O init */ usart_list[0].usart = DBGU; /* Use the debug unit for serial IO */ usart_list[0].baud = 115200; usart_list[0].flags = UF_BREAK | /* Interrupt on break from terminal */ UF_CR; /* Allow CR as end of line */ usart_init( usart_list, USARTS ); ad53_dac[0].pio = PIOA; ad53_dac[0].sclk = bit(10); ad53_dac[0].sync = bit(4); ad53_dac[0].din = bit(9); init_pit( PIT, TICK_HZ ); on_tick = blink; lse_init(); /* build application primitives here */ build_primitive( msec, "msec" ); build_primitive( to_led, ">LED" ); build_primitive( hard_reset, "RESET" ); tc_primitives(); pulsar_spi_primitives(); pulsar_spi_init( SPI0 ); ad53_primitives(); tc_start(); /* go live on raw clock and PPS */ lse_main(); }