main.c 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #include "../CMSIS/gd32f10x.h"
  2. #include "systick.h"
  3. #include "../Hardware/boardinit.h"
  4. #include "../App/xspDataOpt.h"
  5. #include "../App/taskOpt.h"
  6. #include "../App/masterslave.h"
  7. extern volatile uint32_t g_tick;
  8. int main(void)
  9. {
  10. // uint8_t j = 0;
  11. // uint8_t i = 0,j = 0;
  12. systick_config();
  13. board_init();
  14. //init_fwdgt_timer();
  15. //init_dev_msg();
  16. epprom_power_up_deal();
  17. ota_power_up_read_update_status();
  18. printf_dev_msg();
  19. srand(g_devMsg.devSn);
  20. init_xsp_run_data();
  21. powerup_read_record_from_flash(g_xspReDa.data);
  22. power_up_read_comm_min_time();
  23. uart_init();
  24. init_run_data();
  25. init_test_coll_data_info(1);
  26. while(1){
  27. config_file_is_timeout(); // 检查配置文件是否过期
  28. if(key_scan()){
  29. printf("按键按下 按键=%x, 次数=%d\r\n",g_keyinfo.keyVal,g_keyinfo.count);
  30. key_opteration();
  31. g_keyinfo.count = 0;
  32. g_keyinfo.keyVal = 0;
  33. }
  34. if((g_timeInfo.bRead == 1)&& (g_testCollDa.bTestCollDa == 0)){
  35. // exti_interrupt_disable(g_extimsg.extiLine);
  36. // for(j=0;j<g_timeInfo.count;j++){
  37. // printf("count : %02d ",j);
  38. // for(i=0;i<29;i++){
  39. // printf("%02X ",g_timeInfo.testsrcDa[j][i]);
  40. // }
  41. // printf("\n");
  42. // }
  43. anay_7eg();
  44. g_timeInfo.bRead = 0;
  45. // gpio_bit_reset(g_extimsg.csGroup,g_extimsg.csPin);
  46. delay_ms(50);
  47. if((g_up7segData.bofflineTest == 1)){
  48. if(timeout_isOut(&g_up7segData.upTime)){
  49. slave_send_data_0x2030(g_devMsg.devType,g_devMsg.devSn,&g_7egDa[1],(uint8_t*)&g_table1027.confFileNum[0],28);
  50. timeout_start(&g_up7segData.upTime);
  51. }
  52. }
  53. // exti_interrupt_enable(g_extimsg.extiLine);
  54. }
  55. else {
  56. if(g_testCollDa.bTestCollDa == 1){
  57. if(g_devMsg.bHYdev == 0x00)deal_coll_data_com();
  58. else if(g_devMsg.bHYdev == 0x01) deal_coll_data_HY();
  59. else deal_coll_data_com();
  60. }
  61. }
  62. analysis_485_rx_fifo(); // 读取485的接收fifo
  63. if(WORK_UPDATE == g_devMsg.workMode){
  64. ota_check_update_timer();
  65. ota_offline_handle();//离线升级
  66. }
  67. ota_update_deal_upstatus();//处理升级的状态上报
  68. // usart_tx_dma_send(USART1,"abcde",5);
  69. // printf("rtc_timer = %010u\r\n",rtc_counter_get());
  70. // delay_ms(2000);
  71. }
  72. }