#include "at32f403a_407.h" #include "misc.h" #include "FreeRTOS.h" #include "task.h" #include "mux.h" #include // TIM1, 8, 9, 10, 11 тактируются от 120 МГц // TIM2, 3, 4, 5, 6, 7, 12, 13, 14 тактируются от 240 МГц void modbus_tim_init(void) { crm_clocks_freq_type crm_clocks_freq_struct = {0}; crm_periph_clock_enable(CRM_TMR7_PERIPH_CLOCK, TRUE); crm_clocks_freq_get(&crm_clocks_freq_struct); tmr_base_init(TMR7, 1, 5999); tmr_cnt_dir_set(TMR7, TMR_COUNT_UP); tmr_flag_clear(TMR7, TMR_OVF_FLAG); nvic_priority_group_config(NVIC_PRIORITY_GROUP_4); nvic_irq_enable(TMR7_GLOBAL_IRQn, 5, 0); tmr_counter_enable(TMR7, TRUE); tmr_interrupt_enable(TMR7, TMR_OVF_INT, TRUE); } #if 0 // void TMR7_GLOBAL_IRQHandler(void) { if(tmr_flag_get(TMR7, TMR_OVF_FLAG) != RESET) { tmr_flag_clear(TMR7, TMR_OVF_FLAG); mux_led_test_toggle(); } } #endif