main.c 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /********************** ??? *************************/
  2. #include "main.h"
  3. /********************** 变量区 *************************/
  4. /********************** 系统函数区 *************************/
  5. /**********************************************************
  6. * 函数名字:clocks_init
  7. * 函数作用:时钟初始化
  8. * 函数参数:无
  9. * 函数返回值:无
  10. ***********************************************************/
  11. void clocks_init( void )
  12. {
  13. ret_code_t err_code = nrf_drv_clock_init();
  14. APP_ERROR_CHECK(err_code);
  15. nrf_drv_clock_lfclk_request(NULL);
  16. while (!nrf_drv_clock_lfclk_is_running())
  17. {
  18. }
  19. }
  20. /**********************************************************
  21. * 函数名字:log_init
  22. * 函数作用:LOG调试打印初始化
  23. * 函数参数:无
  24. * 函数返回值:无
  25. ***********************************************************/
  26. static void log_init(void)
  27. {
  28. uint32_t err_code = NRF_LOG_INIT(NULL);
  29. APP_ERROR_CHECK(err_code);
  30. NRF_LOG_DEFAULT_BACKENDS_INIT();
  31. }
  32. /**********************************************************
  33. * 函数名字:main
  34. * 函数作用:主函数
  35. * 函数参数:无
  36. * 函数返回值:无
  37. ***********************************************************/
  38. #if ME5611_PRESSURE_TEST
  39. extern IMU_DAT_t m_IMU_DAT_t;
  40. #endif
  41. int main(void)
  42. {
  43. ret_code_t err_code;
  44. gpio_init(); //初始化IO
  45. //log_init();
  46. clocks_init();
  47. err_code = nrf_pwr_mgmt_init();
  48. APP_ERROR_CHECK(err_code);
  49. twi_master_init();
  50. nrf_delay_ms(100);
  51. MSE5611_Config();
  52. #if (MPU_SENSOR == MPU_SENSOR_6050)
  53. MPU6050_Init_reg();
  54. MPU6050_sheep();
  55. #else
  56. MPU9250_init();
  57. MPU9250_LowPowerAccelModeInit();
  58. #endif
  59. err_code = app_timer_init();
  60. APP_ERROR_CHECK(err_code);
  61. #if DEBUG_EN
  62. SEGGER_RTT_printf(0,"System init, start\n");
  63. #endif
  64. #if ME5611_PRESSURE_TEST || ESB_RECV_SEND_TEST
  65. User_Esb_Set(true);
  66. #else
  67. User_Task_init();
  68. User_temperature_init();
  69. User_flash_init();
  70. User_watchDog_init(true);
  71. User_SAADC_DisOrEnable(Enable);
  72. Quick_GetBatteryPersent();
  73. #if GameMode_TEST
  74. TranforMainEvent_Fifo(Into_GameMode_Event);
  75. #endif
  76. #endif
  77. while(true)
  78. {
  79. #if ME5611_PRESSURE_TEST
  80. m_IMU_DAT_t.h.press = (uint16_t)(ReadPressure()>>8); //读取气压计值
  81. sen_data_to_host();
  82. ReadPressure_Pre();
  83. nrf_delay_ms(10);
  84. #elif ESB_RECV_SEND_TEST
  85. Esb_Test_Send();
  86. nrf_delay_ms(10);
  87. #else
  88. nrf_pwr_mgmt_run();
  89. User_Task_loop();
  90. #endif
  91. }
  92. }