main.c 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /********************************** (C) COPYRIGHT *******************************
  2. * File Name : main.c
  3. * Author : WCH
  4. * Version : V1.0.0
  5. * Date : 2023/12/29
  6. * Description : Main program body.
  7. *********************************************************************************
  8. * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
  9. * Attention: This software (modified or not) and binary are used for
  10. * microcontroller manufactured by Nanjing Qinheng Microelectronics.
  11. *******************************************************************************/
  12. /*
  13. *@Note
  14. *Systick interrupt:
  15. *USART1_Tx(PA9).
  16. *
  17. *
  18. */
  19. #include "define.h"
  20. #include "user_uart.h"
  21. #include "user_led.h"
  22. #include "user_ws2812b.h"
  23. #include "download.h"
  24. #include "upload.h"
  25. #include "user_server.h"
  26. /* Global typedef */
  27. /* Global define */
  28. /* Global Variable */
  29. /*******************************************************************************
  30. * @函数名称 SystemTick_Init
  31. * @函数说明 初始化systemtick
  32. * @输入参数 无
  33. * @输出参数 无
  34. * @返回参数 无
  35. *******************************************************************************/
  36. static void SystemTick_Init(void)
  37. {
  38. NVIC_EnableIRQ(SysTick_IRQn);
  39. SysTick->SR &= ~(1 << 0);
  40. SysTick->CMP = SystemCoreClock / 1000 - 1;
  41. SysTick->CNT = 0;
  42. SysTick->CTLR = 0xF;
  43. }
  44. /*********************************************************************
  45. * @fn main
  46. *
  47. * @brief Main program.
  48. *
  49. * @return none
  50. */
  51. int main(void)
  52. {
  53. SystemCoreClockUpdate();
  54. NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  55. SystemTick_Init();
  56. vUser_server_init();
  57. led_init();
  58. vUpload_init();
  59. vDownload_init();
  60. while(1)
  61. {
  62. vUser_usart_pro();
  63. vDownload_pro();
  64. vUpload_pro();
  65. vLed_task_pro();
  66. }
  67. }