lark1s_demo/stm32f4/main.c

57 lines
1.0 KiB
C
Executable File

#include "stm32f4xx_rcc.h"
#include "led.h"
// #include "lcd.h"
#include "rs485.h"
#include "dwin.h"
volatile uint32_t system_tick_cnt;
void system_tick_init(void)
{
RCC_ClocksTypeDef rcc_clocks;
system_tick_cnt = 0;
RCC_GetClocksFreq(&rcc_clocks);
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
SysTick_Config(rcc_clocks.HCLK_Frequency / 1000);
}
void led_loop(void)
{
static uint32_t tick = 0;
if (system_tick_cnt - tick > 500) {
led_toggle();
tick = system_tick_cnt;
}
}
void system_init(void)
{
led_init();
system_tick_init();
// lcd_init();
// rs485_init();
dwin_init();
}
int main(void)
{
system_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
SCB->VTOR = 0x08000000;
__enable_irq();
while (1) {
led_loop();
// lcd_loop();
rs485_loop();
dwin_loop();
}
return 0;
}
void SysTick_Handler(void)
{
system_tick_cnt++;
}