From 72def895431ad7a08e635b11f3da738e2b2c4618 Mon Sep 17 00:00:00 2001
From: wujiazhi <1147861305@qq.com>
Date: Thu, 13 Jun 2024 11:31:04 +0800
Subject: [PATCH] add lower model test

---
 Function/PROJECT_TETS/project_test.c |  149 ++++++++++++++++++++++++++++---------------------
 1 files changed, 85 insertions(+), 64 deletions(-)

diff --git a/Function/PROJECT_TETS/project_test.c b/Function/PROJECT_TETS/project_test.c
index 297efa3..7a9a1f7 100644
--- a/Function/PROJECT_TETS/project_test.c
+++ b/Function/PROJECT_TETS/project_test.c
@@ -9,12 +9,15 @@
 #include "ir_nec.h"
 #include "gprs_module_api.h"
 #include "1lcd_new.h"
+#include "1powermanage.h"
+
 
 volatile uint32_t msTicks = 0;
 volatile uint32_t get_time = 0;
 volatile uint32_t delay_time = 0;
 volatile uint32_t delay_time1 = 0;
 volatile uint32_t delay_time2 = 0;
+
 // int low_push_flag = 0;
 // int alka_lose_flag = 0;
 // int lith_lose_flag = 0;
@@ -31,6 +34,8 @@
   while (Sys_GetTick() < start_time + ms)
     ; // ѭ���ȴ�
 }
+#if Debug_Model
+
 void AppNvr_Print(void)
 {
   CMU_ClocksType CMU_Clocks;
@@ -43,15 +48,16 @@
   printf("\r\n");
 }
 
-#if 1
-int fputc(int ch, FILE *f)
-{
-  UARTx_TXBUF_Write(UART5, (uint8_t)ch); // ���ʹ���
-  while (RESET == UARTx_ISR_TXSE_Chk(UART5))
-    ; // �ȴ��������
-  return ch;
-}
+
+ int fputc(int ch, FILE *f)
+ {
+   UARTx_TXBUF_Write(UART5, (uint8_t)ch); // ���ʹ���
+   while (RESET == UARTx_ISR_TXSE_Chk(UART5))
+     ; // �ȴ��������
+   return ch;
+ }
 #endif
+
 void Timer_Init(uint32_t psc, uint32_t arr_value)
 {
   CMU_PERCLK_SetableEx(BSTIMCLK, ENABLE);          // ��������ʱ��ʹ��
@@ -98,12 +104,12 @@
   CMU_ClocksType CMU_Clocks;         // ϵͳ��ʱ��Ƶ�ʽṹ��  �ڴ�����㲨�����й�
   DMA_InitTypeDef DMA_InitStructure; // DMA��ʼ�������ṹ��
 
-  /*UART0 IO ����*/
+  /*UART5 IO ����*/
   CMU_PERCLK_SetableEx(PADCLK, ENABLE);       // PADʱ�ӣ�GPIO��ʹ�ܺ���
   AltFunIO(GPIOA, GPIO_Pin_8, ALTFUN_NORMAL); // ��λ��RS485�ڵ����ݽ��ա��ýӿ����⹩��ʱ����Ч��
   AltFunIO(GPIOA, GPIO_Pin_9, ALTFUN_NORMAL); // ��λ��RS485�ڵ����ݷ���
   OutputIO(GPIOA, GPIO_Pin_10, OUT_PUSHPULL); // UART1_RE ��λ��RS485�ڵ��շ����ƣ��߷����գ�
-  UART1_RE_ON;
+  UART5_RE_ON;
 
   UART_para.BaudRate = 115200;
   UART_para.DataBit = Eight8Bit;              // �����
@@ -165,10 +171,10 @@
   UARTx_CSR_TXEN_Setable(UART1, ENABLE); // �򿪷���ʹ��
   UARTx_ISR_RXBF_Clr(UART1);
 
-  DMA_InitStructure.CHx = DMA_CH9;                                         // DMAͨ��������
+  DMA_InitStructure.CHx = DMA_CH3;                                         // DMAͨ��������
   DMA_InitStructure.CHxPRI = DMA_CHxCR_CHxPRI_HIGH;                        // ͨ�����ȼ�����
   DMA_InitStructure.CHxINC = DMA_CHxCR_CHxINC_INCREASE;                    // ͨ����ַ��������
-  DMA_InitStructure.CHxSSEL = DMA_CHxCR_CH9SSEL_UART1_RX;                  // ����ͨ��ѡ��
+  DMA_InitStructure.CHxSSEL = DMA_CHxCR_CH3SSEL_UART1_RX;                  // ����ͨ��ѡ��
   DMA_InitStructure.CHxDIR = DMA_CHxCR_DIR_TO_RAM;                         // ���ݴ��䷽������
   DMA_InitStructure.CHxTSIZE = UC_RECV_LEN_MAX - 1;                        // ͨ�����䳤��
   DMA_InitStructure.CHxRAMAD = (uint32)rs485_modeule_pagra.rs485_recv_buf; // Ŀ���ַ
@@ -178,7 +184,7 @@
   DMA_InitStructure.CHxEN = ENABLE;                                        // ͨ��ʹ��
 
   NVIC_DisableIRQ(DMA_IRQn);
-  DMA_ISR_DMACHFT_Clr(DMA_CH9);
+  DMA_ISR_DMACHFT_Clr(DMA_CH3);
   DMA_Init(&DMA_InitStructure); // DMA���ò���д��
 
 #else
@@ -187,10 +193,8 @@
 
   /*UART1 IO ����*/
   CMU_PERCLK_SetableEx(PADCLK, ENABLE);       // PADʱ�ӣ�GPIO��ʹ�ܺ���
-  AltFunIO(GPIOB, GPIO_Pin_0, ALTFUN_NORMAL); // PB0 UART1 RX
-  AltFunIO(GPIOB, GPIO_Pin_1, ALTFUN_NORMAL); // PB1 UART1 TX
-  OutputIO(GPIOA, GPIO_Pin_14, OUT_PUSHPULL); // EQUIP RE
-  OutputIO(GPIOA, GPIO_Pin_15, OUT_PUSHPULL); // 485_PWR_EN
+  AltFunIO(GPIOE, GPIO_Pin_3, ALTFUN_NORMAL); // PE3 UART1 RX
+  AltFunIO(GPIOE, GPIO_Pin_4, ALTFUN_NORMAL); // PE4 UART1 TX
   // UART����ʱ��Դѡ��   ֻ��UART0��1��Ҫѡ��  ����UART�˿��ݲ���Ҫ
   UART_para.ClockSrc = CMU_OPCCR1_UART1CKS_APBCLK; // UART1����ʱ��ѡ��
   UART_para.BaudRate = 115200;
@@ -202,7 +206,7 @@
 
   /*NVIC�ж����ȼ��Լ��Ƿ���ж�����*/
   NVIC_DisableIRQ(UART1_IRQn);
-  UARTx_TODR_RXTO_LEN_Set(UART1, 255);
+  UARTx_TODR_RXTO_LEN_Set(UART1, 255); // ֻ��uart0��uart1�н��ճ�ʱ�ж�
   UARTx_ISR_RXTO_Clr(UART1);
   UARTx_IER_RXTO_IE_Setable(UART1, ENABLE);
   NVIC_EnableIRQ(UART1_IRQn);
@@ -211,10 +215,10 @@
   UARTx_CSR_RXEN_Setable(UART1, ENABLE); // �򿪽���ʹ��
   UARTx_CSR_TXEN_Setable(UART1, ENABLE); // �򿪷���ʹ��
   UARTx_ISR_RXBF_Clr(UART1);
-  DMA_InitStructure.CHx = DMA_CH9;                                       // DMAͨ��������
+  DMA_InitStructure.CHx = DMA_CH3;                                       // DMAͨ��������
   DMA_InitStructure.CHxPRI = DMA_CHxCR_CHxPRI_HIGH;                      // ͨ�����ȼ�����
   DMA_InitStructure.CHxINC = DMA_CHxCR_CHxINC_INCREASE;                  // ͨ����ַ��������
-  DMA_InitStructure.CHxSSEL = DMA_CHxCR_CH9SSEL_UART1_RX;                // ����ͨ��ѡ��
+  DMA_InitStructure.CHxSSEL = DMA_CHxCR_CH3SSEL_UART1_RX;                // ����ͨ��ѡ��
   DMA_InitStructure.CHxDIR = DMA_CHxCR_DIR_TO_RAM;                       // ���ݴ��䷽������
   DMA_InitStructure.CHxTSIZE = UC_RECV_LEN_MAX - 1;                      // ͨ�����䳤��
   DMA_InitStructure.CHxRAMAD = (uint32)gprs_module_para_g.gprs_recv_buf; // Ŀ���ַ
@@ -223,8 +227,9 @@
   DMA_InitStructure.CHxHTIE = DISABLE;                                   // ͨ���������ն�ʹ��
   DMA_InitStructure.CHxEN = ENABLE;                                      // ͨ��ʹ��
   NVIC_DisableIRQ(DMA_IRQn);
-  DMA_ISR_DMACHFT_Clr(DMA_CH9);
+  DMA_ISR_DMACHFT_Clr(DMA_CH3);
   DMA_Init(&DMA_InitStructure); // DMA���ò���д��
+ // memset(gprs_module_para_g.gprs_recv_buf, 0, sizeof(gprs_module_para_g.gprs_recv_buf));
 #endif
 }
 
@@ -337,11 +342,12 @@
     LED_TOG;
     printf("circulate tun on led\r\n");
   }
+  IWDT_Clr();
 }
 
 void project_test_2(void)
 {
-
+  IWDT_Clr();
   if (HWID0_READ == 0)
   {
     EX_PWR_EN_H;
@@ -349,25 +355,30 @@
   else
   {
     EX_PWR_EN_L;
-  }
-  // Gprs_Uart1_Rx_DMA_CH5_Check();
-  // Gprs_Uart5_Receive_Data();
+   }
+  Gprs_Uart1_Rx_DMA_CH3_Check();
+  Gprs_Uart1_Receive_Data();
   if ((GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_14) == 0) || (GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_15) == 0)) // �̰� key3 �����Ϸ�+�����Ϸ�
-  {
-    delay_ms(50);
-    if (GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_14) == 0) // key3
-    {
-      printf("Turn_On power 3.3v and send gprs\r\n");
-      GPRS_POWER_ON;   // 3.8V ʹ������
-      GPRS_POWER_EN_H; // ������ģ���Դ
+ {
+   delay_ms(50);
+   if (GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_14) == 0) // key3
+   {
+     printf("Turn_On power 3.3v and send gprs\r\n");
+     GPRS_POWER_ON;   // 3.8V ʹ������
+     GPRS_POWER_EN_H; // ������ģ���Դ
+     delay_ms(500);
+     IWDT_Clr();
+     Gprs_Open();
       GPRS_Send_process();
-    }
+   }
     if (GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_15) == 0) // key2 �ϰ�����͹���
     {
+      //printf("lower model \r\n");
+      BSTIM_CR1_CEN_Setable(DISABLE);
+      delay_ms(50);
       LCD_3V3_OFF;
       GPIO_IPD_Init();
-      pwr_enter_sleep_mode((uint32)(PMU_CR_SLPDP_DEEPSLEEP));
-      printf("lower model \r\n");
+      Deep_sleep_mode();//���˯��
     }
   }
 }
@@ -412,7 +423,7 @@
     press_duration = Sys_GetTick() - press_start_time;
     if (press_duration < SHORT_PRESS_TIME) // 12v
     {
-      if (GPIO_ReadInputDataBit(GPIOH, GPIO_Pin_0) == 1) // ������
+      if (GPIOH_ReadInputDataBit(GPIO_Pin_0) == 1) // ������
       {
         OUTPUT1_EN_ON;
         power12V_ON;
@@ -430,11 +441,12 @@
     else if (press_duration >= LONG__LONG_PRESS_TIME) // 9v
     {
       printf("Long long press detected.\n");
-      OUTPUT1_EN_ON;
+      OUTPUT1_EN_ON; 
       power9V_ON;
       BOOST_EN_ON;
     }
   }
+  IWDT_Clr();
   last_button_state = button_pressed;
 }
 
@@ -449,7 +461,7 @@
 
 void project_test_5(void) // ���� ���߼��
 {
-  if (GPIO_ReadInputDataBit(LOWPLUSE_PIN_GROUP, LOWPLUSE_PIN_NUM) == 0) // ������
+  if (GPIOH_ReadInputDataBit(LOWPLUSE_PIN_NUM) == 0) // ������
   {
     // low_push_flag = 0;
     for (int i = 0; i < 3; i++) // led ����3��
@@ -501,6 +513,7 @@
 float mcu_temp = 0;
 void project_test_6(void) // ��ز��������紥��
 {
+  IWDT_Clr();
   if (Sys_GetTick() - delay_time > 10000)
   {
     delay_time = Sys_GetTick();
@@ -510,12 +523,12 @@
     printf("alka vcc =%.2f\r\n", pwr_vol_g.alka_vcc);
     printf("lith vcc = %.2f \r\n", pwr_vol_g.lith_vcc);
     printf("mcu_temperature %.1f\r\n", mcu_temp);
-    if (GPIO_ReadInputDataBit(GPIOH, GPIO_Pin_0) == 0)
+    if (GPIOH_ReadInputDataBit(GPIO_Pin_0) == 0)
     {
       // alka_lose_flag = 0;
       printf("alka lose\r\n");
     }
-    if (GPIO_ReadInputDataBit(LITH_BAT_LOW_PWR_PIN_GROUP, LITH_BAT_LOW_PWR_PIN_NUM) == 0)
+    if (GPIOH_ReadInputDataBit(LITH_BAT_LOW_PWR_PIN_NUM) == 0)
     {
       // lith_lose_flag = 0;
       printf("lith lose\r\n");
@@ -525,11 +538,9 @@
 
 void project_test_7(void) // Һ��ȫ��ʾ
 {
-#if 1
   LCD_driver_init_new();
   LCD_Clear_NEW();
   LCD_All_Display_new();
-#endif
 }
 
 void Project_Test_8(void) // ���
@@ -603,8 +614,8 @@
   uint32_t total_ticks = msTicks * arr_value;
   float measured_frequency = (float)total_ticks * psc;
   float error_percentage = ((measured_frequency - SYS_CLOCK_HZ) / SYS_CLOCK_HZ) * 100;
-  printf("Measured Frequency: %.2f Hz\n", measured_frequency);
-  printf("Error Percentage: %.2f%%\n", error_percentage);
+  //printf("Measured Frequency: %.2f Hz\r\n", measured_frequency);
+  //printf("Error Percentage: %.2f%%\r\n", error_percentage);
   BSTIM_CR1_CEN_Setable(ENABLE);
 }
 
@@ -616,6 +627,7 @@
     delay_time1 = Sys_GetTick();
     // Time_Set(0x24, 06, 04, 02, 0x0E, 0x26, 0x50);
     Get_Time();
+    IWDT_Clr();
   }
 }
 
@@ -623,6 +635,7 @@
 {
   if (uc_recv_para_g.uc_recv_flag == SET)
   {
+    IWDT_Clr();
     printf("MCU<-PC ");
     for (uint16_t i = 0; i < uc_recv_para_g.uc_recv_length; i++)
     {
@@ -640,6 +653,7 @@
     printf("MCU<-modbus ");
     for (uint16_t i = 0; i < rs485_modeule_pagra.rs485_recv_length; i++)
     {
+      IWDT_Clr();
       printf("0x%02x ", rs485_modeule_pagra.rs485_recv_buf[i]);
     }
     printf("\r\n");
@@ -647,7 +661,7 @@
   }
 }
 
-void Gprs_Uart5_Receive_Data(void)
+void Gprs_Uart1_Receive_Data(void)
 {
   if (gprs_module_para_g.gprs_recv_flag == SET)
   {
@@ -664,14 +678,14 @@
 void Rs485_Uart1_Rx_DMA_CH5_Check(void)
 {
   uint16_t timeout_cnt = 0, dma_recv_cnt;
-  uint32_t dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH9);
+  uint32_t dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH3);
 
   if (dma_mar_reg_read != (uint32)rs485_modeule_pagra.rs485_recv_flag)
   {
     delay_ms(2);
-    while (dma_mar_reg_read != DMA_CHxMAR_Read(DMA_CH9))
+    while (dma_mar_reg_read != DMA_CHxMAR_Read(DMA_CH3))
     {
-      dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH9);
+      dma_mar_reg_read = DMA_CHxMAR_Read(DMA_CH3);
       delay_ms(2);
       if (timeout_cnt++ > 100)
         break;
@@ -683,12 +697,12 @@
   {
     rs485_modeule_pagra.rs485_recv_length = dma_recv_cnt;
     // ����RAM��ַ����
-    DMA_ISR_DMACHFT_Clr(DMA_CH5);
-    DMA_CHxCR_ChxEN_Setable(DMA_CH5, DISABLE); // ͨ��ʧ��
+    DMA_ISR_DMACHFT_Clr(DMA_CH3);
+    DMA_CHxCR_ChxEN_Setable(DMA_CH3, DISABLE); // ͨ��ʧ��
 
-    DMA_CHxMAR_Write(DMA_CH5, (uint32)rs485_modeule_pagra.rs485_recv_buf);
+    DMA_CHxMAR_Write(DMA_CH3, (uint32)rs485_modeule_pagra.rs485_recv_buf);
 
-    DMA_CHxCR_ChxEN_Setable(DMA_CH5, ENABLE);  // ͨ��ʹ��
+    DMA_CHxCR_ChxEN_Setable(DMA_CH3, ENABLE);  // ͨ��ʹ��
     rs485_modeule_pagra.rs485_recv_flag = SET; // �������
   }
 }
@@ -697,31 +711,38 @@
 uint8_t Rs485_Read_ARR[8] = {0X01, 0X03, 0X0D, 0XAD, 0X00, 0X0E, 0X57, 0X43}; // ��ȡ����������ѹ��
 void project_test_11(void)                                                    // RS485 UART1 �շ�����
 {
-  IR_Uart5_Rx_DMA_CH5_Check();
+  //IR_Uart5_Rx_DMA_CH5_Check();
   Rs485_Uart1_Rx_DMA_CH5_Check();
-  Uart5_Receive_Data();
+ // Uart5_Receive_Data();
   Rs485_Uart1_Receive_Data();
-  if (Sys_GetTick() - delay_time2 > 7000)
+  if (Sys_GetTick() - delay_time2 > 10000)
   {
     delay_time2 = Sys_GetTick();
-    UART1_RE_ON;
-    RS485_Send_date_uart(arr_test, 1);
+    // UART5_RE_ON;
+    // RS485_Send_date_uart(arr_test,1);
+    // UART5_RE_OFF;
+
     OUTPUT1_EN_ON;
     BOOST_EN_ON;
     delay(1000); // ������
     EQUIP_RE_ON;
-    RS485_Send_date_Equip(Rs485_Read_ARR, 8);
+    delay_ms(5);
+    IWDT_Clr();
+    RS485_Send_date_Equip(Rs485_Read_ARR, sizeof(Rs485_Read_ARR));
+    delay_ms(5);
     EQUIP_RE_OFF;
-  }
+    IWDT_Clr(); 
+   }
 }
 void Project_Test(void)
 {
-  project_test_1(); // led ������˸
-  project_test_2(); // key3  �����Ϸ�     ke2 �̰��͹���
-  project_test_3(); // SEPIC��Դ��� key1  (��������:�̰�12v ����4s 5V ���� 6s 9v)
-  // project_test_5();  // ���� ���߼��
+  project_test_1();  // led ������˸
+  project_test_2();  // key3  �����Ϸ�     ke2 �̰��͹���
+  project_test_3();  // SEPIC��Դ��� key1  (��������:�̰�12v ����4s 5V ���� 6s 9v)
+  project_test_5();  // ���� ���߼��
   project_test_6();  // �ɼ���ѹ mcu �¶� ������
   Project_Test_8();  // ������ ���Ǽӣ��������裩���ɻƼ��
   project_test_10(); // RTC(�ⲿʱ�ӻ�ȡ)
-  project_test_11(); // uart5 uart5 ͨ�ż��
+  //project_test_11(); // uart5 uart1ͨ�ż��
+  IWDT_Clr();
 }
\ No newline at end of file

--
Gitblit v1.9.3