misc.c 1022 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "at32f403a_407.h"
  2. #include "misc.h"
  3. #include "FreeRTOS.h"
  4. #include "task.h"
  5. #include "mux.h"
  6. #include <stdio.h>
  7. // TIM1, 8, 9, 10, 11 тактируются от 120 МГц
  8. // TIM2, 3, 4, 5, 6, 7, 12, 13, 14 тактируются от 240 МГц
  9. void modbus_tim_init(void)
  10. {
  11. crm_clocks_freq_type crm_clocks_freq_struct = {0};
  12. crm_periph_clock_enable(CRM_TMR7_PERIPH_CLOCK, TRUE);
  13. crm_clocks_freq_get(&crm_clocks_freq_struct);
  14. tmr_base_init(TMR7, 1, 5999);
  15. tmr_cnt_dir_set(TMR7, TMR_COUNT_UP);
  16. tmr_flag_clear(TMR7, TMR_OVF_FLAG);
  17. nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);
  18. nvic_irq_enable(TMR7_GLOBAL_IRQn, 5, 0);
  19. tmr_counter_enable(TMR7, TRUE);
  20. tmr_interrupt_enable(TMR7, TMR_OVF_INT, TRUE);
  21. }
  22. #if 0
  23. //
  24. void TMR7_GLOBAL_IRQHandler(void)
  25. {
  26. if(tmr_flag_get(TMR7, TMR_OVF_FLAG) != RESET)
  27. {
  28. tmr_flag_clear(TMR7, TMR_OVF_FLAG);
  29. mux_led_test_toggle();
  30. }
  31. }
  32. #endif