main.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. #include "project_config.h"
  2. void mpu_task(void *argv);
  3. void mpu_ctr_init(void)
  4. {
  5. stc_gpio_init_t pstcGpioInit;
  6. GPIO_StructInit(&pstcGpioInit);
  7. pstcGpioInit.u16PinDir = PIN_DIR_OUT;
  8. pstcGpioInit.u16PinState = PIN_STAT_RST;
  9. GPIO_Init(GPIO_PORT_H, GPIO_PIN_02,&pstcGpioInit);
  10. GPIO_Init(GPIO_PORT_C, GPIO_PIN_14|GPIO_PIN_15,&pstcGpioInit);
  11. }
  12. #define MPU_PWR_ON GPIO_SetPins(GPIO_PORT_H, GPIO_PIN_02)
  13. #define MPU_PWR_OFF GPIO_ResetPins(GPIO_PORT_H, GPIO_PIN_02)
  14. #define MPU_KEY_ON GPIO_SetPins(GPIO_PORT_C, GPIO_PIN_14)
  15. #define MPU_KEY_OFF GPIO_ResetPins(GPIO_PORT_C, GPIO_PIN_14)
  16. #define MPU_RST_ON GPIO_SetPins(GPIO_PORT_C, GPIO_PIN_15)
  17. #define MPU_RST_OFF GPIO_ResetPins(GPIO_PORT_C, GPIO_PIN_15)
  18. //static void test(void)
  19. //{
  20. // stc_gpio_init_t pstcGpioInit1;
  21. //
  22. // GPIO_SetDebugPort(GPIO_PIN_TDI, DISABLE);
  23. //
  24. // GPIO_StructInit(&pstcGpioInit1);
  25. // pstcGpioInit1.u16PinDir = PIN_DIR_OUT;
  26. // pstcGpioInit1.u16PinState = PIN_STAT_RST;
  27. // GPIO_Init(GPIO_PORT_A, GPIO_PIN_15,&pstcGpioInit1);
  28. // GPIO_Init(GPIO_PORT_D, GPIO_PIN_00|GPIO_PIN_01|GPIO_PIN_02,&pstcGpioInit1);
  29. //}
  30. void flash_tset_func(void)
  31. {
  32. uint8_t data1[50];
  33. uint8_t data2[50];
  34. for(int i =0;i<sizeof(data1);i++){
  35. data1[i] = i;
  36. printf("%x ",data1[i]);
  37. }
  38. printf("write ok\n");
  39. spi_flash_write(0x00,data1,sizeof(data1));
  40. spi_flash_read(0x00,data2,sizeof(data2));
  41. for(int i =0;i<sizeof(data1);i++)
  42. printf("%x ",data2[i]);
  43. printf("read ok\n");
  44. }
  45. int main(void)
  46. {
  47. LL_PERIPH_WE(LL_PERIPH_GPIO | LL_PERIPH_FCG | LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_EFM | LL_PERIPH_SRAM);
  48. sys_clk_init();
  49. /* bsp_spi_init();
  50. bsp_w25qxx_init();
  51. bsp_uart2_init();
  52. bsp_can1_init(); */
  53. //
  54. // time_pwm_out();
  55. //
  56. // adc_init();
  57. //
  58. // gpio_interrupt_init();
  59. //
  60. // sleep_config();
  61. //mup_spi_init();
  62. spi_mpu_init_hc();
  63. mpu_ctr_init();
  64. /************************************/
  65. nca9555_init();
  66. /*rtc_init();
  67. sc7a20_init();*/
  68. sy6970_init();
  69. ///***********************************/
  70. // gpio_output_init();
  71. LL_PERIPH_WP(LL_PERIPH_GPIO | LL_PERIPH_FCG | LL_PERIPH_PWC_CLK_RMU | LL_PERIPH_EFM | LL_PERIPH_SRAM);
  72. xTaskCreate(nca9555_task,"nca9555_task", 512, (void *)0, 2, NULL);
  73. #if 0
  74. xTaskCreate(pca8565_task,"pca8565_task", 512, (void *)0, 2, NULL);
  75. xTaskCreate(sc7a20_task,"sc7a20_task", 512, (void *)0, 3, NULL);
  76. #endif
  77. //xTaskCreate(power_manage,"power_manage", 256, (void *)0, 2, NULL);
  78. xTaskCreate(sy6970_task,"sy6970_task", 512, (void *)0, 3, NULL);
  79. xTaskCreate(ec600g_task,"ec600g_task", 512, (void *)0, configMAX_PRIORITIES-1, NULL);
  80. xTaskCreate(mpu_task,"mpu_task", 512, (void *)0, 3, NULL);
  81. // xTaskCreate(mcu_to_mpu_task,"mcu_to_mpu_task", 512, (void *)0, 4, NULL);
  82. // xTaskCreate(test_task2,"test_task2", 256, (void *)0, 2, NULL);
  83. // xTaskCreate(fft_task,"fft_task", 1024, (void *)0, 2, NULL);
  84. // xTaskCreate(firmware_upgrade_task,"firmware_upgrade_task", 256, (void *)0, 2, NULL);
  85. vTaskStartScheduler();
  86. while(1)
  87. {
  88. NVIC_SystemReset();
  89. }
  90. }
  91. void mpu_task(void *argv)
  92. {
  93. MPU_PWR_ON;
  94. MPU_KEY_ON;
  95. vTaskDelay(1000);
  96. MPU_KEY_OFF;
  97. while(1)
  98. {
  99. vTaskDelay(500);
  100. }
  101. }