Explorar el Código

ESP8266 문자열 필터 추가(미완) / LED 토글 딜레이변경 /

YJ hace 5 años
padre
commit
9ad93c8b63
Se han modificado 32 ficheros con 9605 adiciones y 7841 borrados
  1. BIN
      Debug/STM32F103_WifiAttenCtrlTest.binary
  2. BIN
      Debug/STM32F103_WifiAttenCtrlTest.elf
  3. 1016 1079
      Debug/STM32F103_WifiAttenCtrlTest.hex
  4. 5778 6142
      Debug/STM32F103_WifiAttenCtrlTest.list
  5. 558 577
      Debug/STM32F103_WifiAttenCtrlTest.map
  6. BIN
      Debug/Src/esp8266.o
  7. 3 2
      Debug/Src/esp8266.su
  8. 6 6
      Debug/Src/main.su
  9. BIN
      Debug/Src/uart.o
  10. 3 3
      Debug/Src/uart.su
  11. 2 0
      Inc/esp8266.h
  12. 37 23
      Src/esp8266.c
  13. 7 4
      Src/main.c
  14. 24 5
      Src/uart.c
  15. 62 0
      insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/esp8266(1901).c
  16. 62 0
      insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/esp8266(2730).c
  17. 15 0
      insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/esp8266(6038).h
  18. 652 0
      insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/main(1015).c
  19. 652 0
      insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/main(3110).c
  20. 652 0
      insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/main(4716).c
  21. 76 0
      insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/uart(1610).c
  22. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/STM32F103_WifiAttenCtrlTest.sip_sym
  23. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Drivers_STM32F1xx_HAL_Driver_Src_stm32f1xx_hal_uart.c.sisc
  24. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Inc_esp8266.h.sisc
  25. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Inc_main.h.sisc
  26. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Inc_stm32f1xx_it.h.sisc
  27. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Inc_uart.h.sisc
  28. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_esp8266.c.sisc
  29. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_main.c.sisc
  30. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_stm32f1xx_hal_msp.c.sisc
  31. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_stm32f1xx_it.c.sisc
  32. BIN
      insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_uart.c.sisc

BIN
Debug/STM32F103_WifiAttenCtrlTest.binary


BIN
Debug/STM32F103_WifiAttenCtrlTest.elf


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1016 - 1079
Debug/STM32F103_WifiAttenCtrlTest.hex


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 5778 - 6142
Debug/STM32F103_WifiAttenCtrlTest.list


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 558 - 577
Debug/STM32F103_WifiAttenCtrlTest.map


BIN
Debug/Src/esp8266.o


+ 3 - 2
Debug/Src/esp8266.su

@@ -1,2 +1,3 @@
1
-esp8266.c:12:6:ESP8266_Initialize	112	static
2
-esp8266.c:60:9:ESP8266_Strindex	8	static
1
+esp8266.c:12:6:ESP8266_Initialize	8	static
2
+esp8266.c:62:9:ESP8266_Strindex	8	static
3
+esp8266.c:65:9:ESP8266_StrFilter	16	static

+ 6 - 6
Debug/Src/main.su

@@ -1,6 +1,6 @@
1
-main.c:85:6:HAL_TIM_PeriodElapsedCallback	0	static
2
-main.c:95:5:_write	8	static
3
-main.c:100:10:ADC_Value_RetFunc	0	static
4
-main.c:193:6:SystemClock_Config	96	static
5
-main.c:111:5:main	96	static
6
-main.c:627:6:Error_Handler	0	static
1
+main.c:87:6:HAL_TIM_PeriodElapsedCallback	0	static
2
+main.c:97:5:_write	8	static
3
+main.c:102:10:ADC_Value_RetFunc	0	static
4
+main.c:196:6:SystemClock_Config	96	static
5
+main.c:113:5:main	96	static
6
+main.c:630:6:Error_Handler	0	static

BIN
Debug/Src/uart.o


+ 3 - 3
Debug/Src/uart.su

@@ -1,6 +1,6 @@
1 1
 uart.c:12:6:InitUartQueue	8	static
2
-uart.c:47:6:GetDataFromUartQueue	8	static
2
+uart.c:56:6:GetDataFromUartQueue	16	static
3 3
 uart.c:24:6:HAL_UART_RxCpltCallback	16	static
4 4
 uart.c:37:6:PutDataToUartQueue	16	static
5
-uart.c:69:6:Uart1_Data_Send	0	static
6
-uart.c:72:6:Uart2_Data_Send	0	static
5
+uart.c:88:6:Uart1_Data_Send	0	static
6
+uart.c:91:6:Uart2_Data_Send	0	static

+ 2 - 0
Inc/esp8266.h

@@ -12,4 +12,6 @@
12 12
 
13 13
 uint8_t ESP8266_Strindex(uint8_t* str);
14 14
 void ESP8266_Initialize(void);
15
+uint8_t ESP8266_StrFilter(uint8_t* str);
16
+
15 17
 #endif /* ESP8266_H_ */

+ 37 - 23
Src/esp8266.c

@@ -5,7 +5,7 @@
5 5
  *      Author: parkyj
6 6
  */
7 7
 
8
-
8
+#include <string.h>
9 9
 #include "esp8266.h"
10 10
 
11 11
 
@@ -17,7 +17,7 @@ void ESP8266_Initialize(void){
17 17
 		  init = true;
18 18
 	  }else{
19 19
 	  /* * * * *DATA SEND COMMADN * * * * * */
20
-#if 1 // PYJ.2019.08.06_BEGIN --
20
+#if 0 // PYJ.2019.08.06_BEGIN --
21 21
     Uart2_Data_Send("AT+CIPSEND=0,4\r\n",ESP8266_Strindex("AT+CIPSEND=0,4\r\n"));
22 22
     HAL_Delay(1000);
23 23
     sprintf(str,"%d", ADC_Value_RetFunc());
@@ -32,31 +32,45 @@ void ESP8266_Initialize(void){
32 32
 //          Uart2_Data_Send("1\r\n",ESP8266_Strindex("1\r\n"));              
33 33
         return;
34 34
 	  }
35
+#if 1 // PYJ.2019.12.13_BEGIN -- 
35 36
 	  switch(seq){
36
-	  case 0:
37
-          Uart2_Data_Send("AT+CWMODE=3\r\n",ESP8266_Strindex("AT+CWMODE=3\r\n"));
38
-		  seq++;
39
-		  break;
40
-	  case 1:
41
-          Uart2_Data_Send("AT+CIPMUX=1\r\n",ESP8266_Strindex("AT+CIPMUX=1\r\n"));
42
-		  seq++;
43
-		  break;
44
-	  case 2:
45
-          Uart2_Data_Send("AT+CWSAP=\"BLUE_TEST\",\"\",5,0\r\n",ESP8266_Strindex("AT+CWSAP=\"BLUE_TEST\",\"\",5,0\r\n"));
46
-		  seq++;
47
-		  break;
48
-	  case 3:
49
-          Uart2_Data_Send("AT+CIPSERVER=1,4000\r\n",ESP8266_Strindex("AT+CIPSERVER=1,4000\r\n"));
50
-          HAL_Delay(5);
51
-          Uart2_Data_Send("AT+CIFSR\r\n",ESP8266_Strindex("AT+CIFSR\r\n"));
52
-		  printf("ESP Setting Complete \r\n");
53
-		  seq++;
54
-		  break;
55
-	  default:
56
-		  break;
37
+    	  case 0:
38
+              Uart2_Data_Send("AT+CWMODE=3\r\n",ESP8266_Strindex("AT+CWMODE=3\r\n"));
39
+    		  seq++;
40
+    		  break;
41
+    	  case 1:
42
+              Uart2_Data_Send("AT+CIPMUX=1\r\n",ESP8266_Strindex("AT+CIPMUX=1\r\n"));
43
+    		  seq++;
44
+    		  break;
45
+    	  case 2:
46
+              Uart2_Data_Send("AT+CWSAP=\"BLUE_TEST\",\"\",5,0\r\n",ESP8266_Strindex("AT+CWSAP=\"BLUE_TEST\",\"\",5,0\r\n"));
47
+    		  seq++;
48
+    		  break;
49
+    	  case 3:
50
+              Uart2_Data_Send("AT+CIPSERVER=1,4000\r\n",ESP8266_Strindex("AT+CIPSERVER=1,4000\r\n"));
51
+              HAL_Delay(5);
52
+              Uart2_Data_Send("AT+CIFSR\r\n",ESP8266_Strindex("AT+CIFSR\r\n"));
53
+    		  printf("ESP Setting Complete \r\n");
54
+    		  seq++;
55
+    		  break;
56
+    	  default:
57
+    		  break;
57 58
 	  }
59
+#endif // PYJ.2019.12.13_END -- 
58 60
 
59 61
 }
60 62
 uint8_t ESP8266_Strindex(uint8_t* str){
61 63
     return strlen(str);
62 64
 }
65
+uint8_t ESP8266_StrFilter(uint8_t* str){
66
+    char *ptr = strstr(str, ":");      // den으로 시작하는 문자열 검색, 포인터 반환
67
+    
68
+    //printf("first : %s\n", ptr);    // den Diary
69
+    
70
+    printf("\r\nResult : ");
71
+    for(int i = 0; i < ESP8266_Strindex(ptr); i++)
72
+        printf("%d", ptr[i]);    // den Diary
73
+
74
+    printf("\r\n");
75
+
76
+}

+ 7 - 4
Src/main.c

@@ -19,6 +19,8 @@
19 19
 /* USER CODE END Header */
20 20
 
21 21
 /* Includes ------------------------------------------------------------------*/
22
+#include <stdio.h>
23
+#include <string.h>
22 24
 #include "main.h"
23 25
 
24 26
 /* Private includes ----------------------------------------------------------*/
@@ -161,7 +163,7 @@ int main(void)
161 163
   /* USER CODE BEGIN WHILE */
162 164
   while (1)
163 165
   {
164
-	  if(LedTimerCnt > 100){
166
+	  if(LedTimerCnt > 500){
165 167
 		  HAL_GPIO_TogglePin(LED_UL_G_B_GPIO_Port,LED_UL_G_B_Pin);
166 168
 		  LedTimerCnt = 0;
167 169
 	  }
@@ -172,13 +174,14 @@ int main(void)
172 174
 	  if(AdcTimerCnt > 3000){
173 175
 //		  temp_val = ((ADCvalue[0] & 0xFF00)) | (ADCvalue[0] & 0x00FF);
174 176
 	      temp_val = ADCvalue[0];
175
-          printf("=================\n");
176
-	      printf("ADC Vale : %d \r\n",temp_val);
177
-	      printf("ADC Vale : %f \r\n",temp_tmp * temp_val);
177
+//          printf("\r\n");
178
+//	      printf("ADC Vale : %d \r\n",temp_val);
179
+//	      printf("ADC Vale : %f \r\n",temp_tmp * temp_val);
178 180
 	      AdcTimerCnt = 0;
179 181
 	  }
180 182
 	   while (TerminalQueue.data > 0) GetDataFromUartQueue(&hTerminal);
181 183
 	   while (WifiQueue.data > 0) GetDataFromUartQueue(&hWifi);
184
+       HAL_Delay(1);
182 185
     /* USER CODE END WHILE */
183 186
 
184 187
     /* USER CODE BEGIN 3 */

+ 24 - 5
Src/uart.c

@@ -44,13 +44,33 @@ void PutDataToUartQueue(UART_HandleTypeDef *huart, uint8_t data)
44 44
     pQueue->data++;
45 45
    // HAL_UART_Receive_DMA(&hTerminal,  pQueue->Buffer + pQueue->head, 10);
46 46
 }
47
+typedef enum{
48
+    Header = 0,
49
+    Type,
50
+    Length,
51
+    Crcindex,
52
+}Bluecell_Prot_p;
53
+
54
+uint8_t uart_buf[QUEUE_BUFFER_LENGTH];
55
+
47 56
 void GetDataFromUartQueue(UART_HandleTypeDef *huart)
48 57
 {
49 58
     UART_HandleTypeDef *dst = (huart->Instance == USART2 ? &hWifi:&hTerminal);
50 59
     pUARTQUEUE pQueue = (huart->Instance == USART2 ? &WifiQueue:&TerminalQueue);
60
+    volatile static int cnt;
61
+#if 0 // PYJ.2019.12.13_BEGIN -- 
62
+if(huart->Instance == USART1){
63
+    HAL_UART_Transmit_DMA(&hWifi, pQueue->Buffer + pQueue->tail, 1);
64
+}else{
65
+    printf("%c",*(pQueue->Buffer + pQueue->tail));
66
+}
67
+#endif // PYJ.2019.12.13_END -- 
68
+    printf("%c",*(pQueue->Buffer + pQueue->tail));
69
+    uart_buf[cnt++] = *(pQueue->Buffer + pQueue->tail); 
70
+    
71
+
51 72
 //    printf("Function : %s : ",__func__);
52 73
 //    if (HAL_UART_Transmit_DMA(dst, pQueue->Buffer + pQueue->tail, 1) != HAL_OK)
53
-    printf("%c",*(pQueue->Buffer + pQueue->tail));
54 74
     //if (HAL_UART_Transmit_DMA(&hTerminal, pQueue->Buffer + pQueue->tail, 1) != HAL_OK)
55 75
     //{
56 76
 //       _Error_Handler(__FILE__, __LINE__);
@@ -60,11 +80,10 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
60 80
     if (pQueue->tail >= QUEUE_BUFFER_LENGTH) pQueue->tail = 0;
61 81
     pQueue->data--;
62 82
     if(pQueue->data == 0){
63
-      
64
-      //DATA RECV COMPLETE
65
-	// printf("\r\n");
83
+        ESP8266_StrFilter(&uart_buf[Header]);
84
+        memset(uart_buf,NULL,cnt);
85
+        cnt = 0;
66 86
     }
67
-    HAL_Delay(1);
68 87
 }
69 88
 void Uart1_Data_Send(uint8_t* data,uint8_t size){
70 89
     HAL_UART_Transmit_DMA(&huart1, data,size); 

+ 62 - 0
insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/esp8266(1901).c

@@ -0,0 +1,62 @@
1
+/*
2
+ * esp8266.c
3
+ *
4
+ *  Created on: Jul 9, 2019
5
+ *      Author: parkyj
6
+ */
7
+
8
+
9
+#include "esp8266.h"
10
+
11
+
12
+void ESP8266_Initialize(void){
13
+	  volatile static bool init = false;
14
+	  volatile static uint8_t seq = 0;
15
+    uint8_t str[100] = {0,};
16
+	  if(init == false ||  seq < 4){
17
+		  init = true;
18
+	  }else{
19
+	  /* * * * *DATA SEND COMMADN * * * * * */
20
+#if 1 // PYJ.2019.08.06_BEGIN --
21
+    Uart2_Data_Send("AT+CIPSEND=0,4\r\n",ESP8266_Strindex("AT+CIPSEND=0,4\r\n"));
22
+    HAL_Delay(1000);
23
+    sprintf(str,"%d", ADC_Value_RetFunc());
24
+    Uart2_Data_Send(str,ESP8266_Strindex(str));
25
+    printf("%s\r\n INDEX : %d",str,ESP8266_Strindex(str));
26
+    HAL_Delay(500);
27
+//          Uart2_Data_Send("be\r\n",ESP8266_Strindex("123456789\r\n"));
28
+          
29
+#endif // PYJ.2019.08.06_END -- 
30
+//          Uart2_Data_Send("AT+CIPSEND=1,1\r\n",ESP8266_Strindex("AT+CIPSEND=1,1\r\n"));
31
+//          HAL_Delay(5); 
32
+//          Uart2_Data_Send("1\r\n",ESP8266_Strindex("1\r\n"));              
33
+        return;
34
+	  }
35
+	  switch(seq){
36
+	  case 0:
37
+          Uart2_Data_Send("AT+CWMODE=3\r\n",ESP8266_Strindex("AT+CWMODE=3\r\n"));
38
+		  seq++;
39
+		  break;
40
+	  case 1:
41
+          Uart2_Data_Send("AT+CIPMUX=1\r\n",ESP8266_Strindex("AT+CIPMUX=1\r\n"));
42
+		  seq++;
43
+		  break;
44
+	  case 2:
45
+          Uart2_Data_Send("AT+CWSAP=\"BLUE_TEST\",\"\",5,0\r\n",ESP8266_Strindex("AT+CWSAP=\"BLUE_TEST\",\"\",5,0\r\n"));
46
+		  seq++;
47
+		  break;
48
+	  case 3:
49
+          Uart2_Data_Send("AT+CIPSERVER=1,4000\r\n",ESP8266_Strindex("AT+CIPSERVER=1,4000\r\n"));
50
+          HAL_Delay(5);
51
+          Uart2_Data_Send("AT+CIFSR\r\n",ESP8266_Strindex("AT+CIFSR\r\n"));
52
+		  printf("ESP Setting Complete \r\n");
53
+		  seq++;
54
+		  break;
55
+	  default:
56
+		  break;
57
+	  }
58
+
59
+}
60
+uint8_t ESP8266_Strindex(uint8_t* str){
61
+    return strlen(str);
62
+}

+ 62 - 0
insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/esp8266(2730).c

@@ -0,0 +1,62 @@
1
+/*
2
+ * esp8266.c
3
+ *
4
+ *  Created on: Jul 9, 2019
5
+ *      Author: parkyj
6
+ */
7
+
8
+
9
+#include "esp8266.h"
10
+
11
+
12
+void ESP8266_Initialize(void){
13
+	  volatile static bool init = false;
14
+	  volatile static uint8_t seq = 0;
15
+    uint8_t str[100] = {0,};
16
+	  if(init == false ||  seq < 4){
17
+		  init = true;
18
+	  }else{
19
+	  /* * * * *DATA SEND COMMADN * * * * * */
20
+#if 1 // PYJ.2019.08.06_BEGIN --
21
+    Uart2_Data_Send("AT+CIPSEND=0,4\r\n",ESP8266_Strindex("AT+CIPSEND=0,4\r\n"));
22
+    HAL_Delay(1000);
23
+    sprintf(str,"%d", ADC_Value_RetFunc());
24
+    Uart2_Data_Send(str,ESP8266_Strindex(str));
25
+    printf("%s\r\n INDEX : %d",str,ESP8266_Strindex(str));
26
+    HAL_Delay(500);
27
+//          Uart2_Data_Send("be\r\n",ESP8266_Strindex("123456789\r\n"));
28
+          
29
+#endif // PYJ.2019.08.06_END -- 
30
+//          Uart2_Data_Send("AT+CIPSEND=1,1\r\n",ESP8266_Strindex("AT+CIPSEND=1,1\r\n"));
31
+//          HAL_Delay(5); 
32
+//          Uart2_Data_Send("1\r\n",ESP8266_Strindex("1\r\n"));              
33
+        return;
34
+	  }
35
+	  switch(seq){
36
+	  case 0:
37
+          Uart2_Data_Send("AT+CWMODE=3\r\n",ESP8266_Strindex("AT+CWMODE=3\r\n"));
38
+		  seq++;
39
+		  break;
40
+	  case 1:
41
+          Uart2_Data_Send("AT+CIPMUX=1\r\n",ESP8266_Strindex("AT+CIPMUX=1\r\n"));
42
+		  seq++;
43
+		  break;
44
+	  case 2:
45
+          Uart2_Data_Send("AT+CWSAP=\"BLUE_TEST\",\"\",5,0\r\n",ESP8266_Strindex("AT+CWSAP=\"BLUE_TEST\",\"\",5,0\r\n"));
46
+		  seq++;
47
+		  break;
48
+	  case 3:
49
+          Uart2_Data_Send("AT+CIPSERVER=1,4000\r\n",ESP8266_Strindex("AT+CIPSERVER=1,4000\r\n"));
50
+          HAL_Delay(5);
51
+          Uart2_Data_Send("AT+CIFSR\r\n",ESP8266_Strindex("AT+CIFSR\r\n"));
52
+		  printf("ESP Setting Complete \r\n");
53
+		  seq++;
54
+		  break;
55
+	  default:
56
+		  break;
57
+	  }
58
+
59
+}
60
+uint8_t ESP8266_Strindex(uint8_t* str){
61
+    return strlen(str);
62
+}

+ 15 - 0
insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/esp8266(6038).h

@@ -0,0 +1,15 @@
1
+/*
2
+ * esp8266.h
3
+ *
4
+ *  Created on: Jul 9, 2019
5
+ *      Author: parkyj
6
+ */
7
+
8
+#ifndef ESP8266_H_
9
+#define ESP8266_H_
10
+
11
+#include "main.h"
12
+
13
+uint8_t ESP8266_Strindex(uint8_t* str);
14
+void ESP8266_Initialize(void);
15
+#endif /* ESP8266_H_ */

+ 652 - 0
insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/main(1015).c

@@ -0,0 +1,652 @@
1
+/* USER CODE BEGIN Header */
2
+/**
3
+  ******************************************************************************
4
+  * @file           : main.c
5
+  * @brief          : Main program body
6
+  ******************************************************************************
7
+  * @attention
8
+  *
9
+  * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10
+  * All rights reserved.</center></h2>
11
+  *
12
+  * This software component is licensed by ST under BSD 3-Clause license,
13
+  * the "License"; You may not use this file except in compliance with the
14
+  * License. You may obtain a copy of the License at:
15
+  *                        opensource.org/licenses/BSD-3-Clause
16
+  *
17
+  ******************************************************************************
18
+  */
19
+/* USER CODE END Header */
20
+
21
+/* Includes ------------------------------------------------------------------*/
22
+#include "main.h"
23
+
24
+/* Private includes ----------------------------------------------------------*/
25
+/* USER CODE BEGIN Includes */
26
+
27
+/* USER CODE END Includes */
28
+
29
+/* Private typedef -----------------------------------------------------------*/
30
+/* USER CODE BEGIN PTD */
31
+
32
+/* USER CODE END PTD */
33
+
34
+/* Private define ------------------------------------------------------------*/
35
+/* USER CODE BEGIN PD */
36
+
37
+/* USER CODE END PD */
38
+
39
+/* Private macro -------------------------------------------------------------*/
40
+/* USER CODE BEGIN PM */
41
+
42
+/* USER CODE END PM */
43
+
44
+/* Private variables ---------------------------------------------------------*/
45
+ADC_HandleTypeDef hadc1;
46
+ADC_HandleTypeDef hadc2;
47
+ADC_HandleTypeDef hadc3;
48
+DMA_HandleTypeDef hdma_adc1;
49
+
50
+TIM_HandleTypeDef htim6;
51
+
52
+UART_HandleTypeDef huart4;
53
+UART_HandleTypeDef huart1;
54
+UART_HandleTypeDef huart2;
55
+DMA_HandleTypeDef hdma_usart1_rx;
56
+DMA_HandleTypeDef hdma_usart1_tx;
57
+DMA_HandleTypeDef hdma_usart2_rx;
58
+DMA_HandleTypeDef hdma_usart2_tx;
59
+
60
+/* USER CODE BEGIN PV */
61
+volatile uint32_t UartTimerCnt = 0;
62
+volatile uint32_t LedTimerCnt = 0;
63
+volatile uint32_t InitTimerCnt = 0;
64
+volatile uint32_t AdcTimerCnt = 0;
65
+/* USER CODE END PV */
66
+
67
+/* Private function prototypes -----------------------------------------------*/
68
+void SystemClock_Config(void);
69
+static void MX_GPIO_Init(void);
70
+static void MX_DMA_Init(void);
71
+static void MX_ADC1_Init(void);
72
+static void MX_ADC2_Init(void);
73
+static void MX_ADC3_Init(void);
74
+static void MX_TIM6_Init(void);
75
+static void MX_USART1_UART_Init(void);
76
+static void MX_USART2_UART_Init(void);
77
+static void MX_UART4_Init(void);
78
+static void MX_NVIC_Init(void);
79
+/* USER CODE BEGIN PFP */
80
+
81
+/* USER CODE END PFP */
82
+
83
+/* Private user code ---------------------------------------------------------*/
84
+/* USER CODE BEGIN 0 */
85
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
86
+{
87
+
88
+    if(htim->Instance == TIM6){
89
+        UartTimerCnt++;
90
+        LedTimerCnt++;
91
+        InitTimerCnt++;
92
+        AdcTimerCnt++;
93
+    }
94
+}
95
+int _write (int file, uint8_t *ptr, uint16_t len)
96
+{
97
+    HAL_UART_Transmit (&huart1, ptr, len, 10);
98
+    return len;
99
+}
100
+uint16_t ADC_Value_RetFunc(void){
101
+  return ADCvalue[0];
102
+}
103
+extern UARTQUEUE TerminalQueue;
104
+uint32_t ADCvalue[ADC_EA];
105
+/* USER CODE END 0 */
106
+
107
+/**
108
+  * @brief  The application entry point.
109
+  * @retval int
110
+  */
111
+int main(void)
112
+{
113
+  /* USER CODE BEGIN 1 */
114
+	uint8_t tempdata[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A};
115
+  /* USER CODE END 1 */
116
+  
117
+
118
+  /* MCU Configuration--------------------------------------------------------*/
119
+
120
+  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
121
+  HAL_Init();
122
+
123
+  /* USER CODE BEGIN Init */
124
+
125
+  /* USER CODE END Init */
126
+
127
+  /* Configure the system clock */
128
+  SystemClock_Config();
129
+
130
+  /* USER CODE BEGIN SysInit */
131
+
132
+  /* USER CODE END SysInit */
133
+
134
+  /* Initialize all configured peripherals */
135
+  MX_GPIO_Init();
136
+  MX_DMA_Init();
137
+  MX_ADC1_Init();
138
+  MX_ADC2_Init();
139
+  MX_ADC3_Init();
140
+  MX_TIM6_Init();
141
+  MX_USART1_UART_Init();
142
+  MX_USART2_UART_Init();
143
+  MX_UART4_Init();
144
+
145
+  /* Initialize interrupts */
146
+  MX_NVIC_Init();
147
+  /* USER CODE BEGIN 2 */
148
+  HAL_TIM_Base_Start_IT(&htim6);
149
+  setbuf(stdout, NULL);
150
+  printf("Uart Start \r\n");
151
+  printf("Crc generate %x \r\n",CRC16_Generate(tempdata,11));
152
+  InitUartQueue(&hTerminal,&TerminalQueue);
153
+  InitUartQueue(&hWifi,&WifiQueue);
154
+
155
+  double temp_tmp = 3.3/4095;
156
+  uint16_t temp_val = 0;
157
+  HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, 1);
158
+  /* USER CODE END 2 */
159
+
160
+  /* Infinite loop */
161
+  /* USER CODE BEGIN WHILE */
162
+  while (1)
163
+  {
164
+	  if(LedTimerCnt > 100){
165
+		  HAL_GPIO_TogglePin(LED_UL_G_B_GPIO_Port,LED_UL_G_B_Pin);
166
+		  LedTimerCnt = 0;
167
+	  }
168
+	  if(InitTimerCnt >1000){
169
+		  ESP8266_Initialize();
170
+		  InitTimerCnt = 0;
171
+	  }
172
+	  if(AdcTimerCnt > 3000){
173
+//		  temp_val = ((ADCvalue[0] & 0xFF00)) | (ADCvalue[0] & 0x00FF);
174
+	      temp_val = ADCvalue[0];
175
+          printf("=================\n");
176
+	      printf("ADC Vale : %d \r\n",temp_val);
177
+	      printf("ADC Vale : %f \r\n",temp_tmp * temp_val);
178
+	      AdcTimerCnt = 0;
179
+	  }
180
+	   while (TerminalQueue.data > 0) GetDataFromUartQueue(&hTerminal);
181
+	   while (WifiQueue.data > 0) GetDataFromUartQueue(&hWifi);
182
+    /* USER CODE END WHILE */
183
+
184
+    /* USER CODE BEGIN 3 */
185
+  }
186
+  /* USER CODE END 3 */
187
+}
188
+
189
+/**
190
+  * @brief System Clock Configuration
191
+  * @retval None
192
+  */
193
+void SystemClock_Config(void)
194
+{
195
+  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
196
+  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
197
+  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
198
+
199
+  /** Initializes the CPU, AHB and APB busses clocks 
200
+  */
201
+  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
202
+  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
203
+  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
204
+  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
205
+  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
206
+  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;
207
+  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
208
+  {
209
+    Error_Handler();
210
+  }
211
+  /** Initializes the CPU, AHB and APB busses clocks 
212
+  */
213
+  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
214
+                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
215
+  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
216
+  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
217
+  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
218
+  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
219
+
220
+  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
221
+  {
222
+    Error_Handler();
223
+  }
224
+  PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
225
+  PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;
226
+  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
227
+  {
228
+    Error_Handler();
229
+  }
230
+}
231
+
232
+/**
233
+  * @brief NVIC Configuration.
234
+  * @retval None
235
+  */
236
+static void MX_NVIC_Init(void)
237
+{
238
+  /* DMA1_Channel6_IRQn interrupt configuration */
239
+  HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 0, 0);
240
+  HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
241
+  /* DMA1_Channel5_IRQn interrupt configuration */
242
+  HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
243
+  HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
244
+  /* DMA1_Channel4_IRQn interrupt configuration */
245
+  HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
246
+  HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
247
+  /* DMA1_Channel7_IRQn interrupt configuration */
248
+  HAL_NVIC_SetPriority(DMA1_Channel7_IRQn, 0, 0);
249
+  HAL_NVIC_EnableIRQ(DMA1_Channel7_IRQn);
250
+  /* ADC3_IRQn interrupt configuration */
251
+  HAL_NVIC_SetPriority(ADC3_IRQn, 0, 0);
252
+  HAL_NVIC_EnableIRQ(ADC3_IRQn);
253
+  /* UART4_IRQn interrupt configuration */
254
+  HAL_NVIC_SetPriority(UART4_IRQn, 0, 0);
255
+  HAL_NVIC_EnableIRQ(UART4_IRQn);
256
+  /* TIM6_IRQn interrupt configuration */
257
+  HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
258
+  HAL_NVIC_EnableIRQ(TIM6_IRQn);
259
+  /* ADC1_2_IRQn interrupt configuration */
260
+  HAL_NVIC_SetPriority(ADC1_2_IRQn, 0, 0);
261
+  HAL_NVIC_EnableIRQ(ADC1_2_IRQn);
262
+  /* USART1_IRQn interrupt configuration */
263
+  HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
264
+  HAL_NVIC_EnableIRQ(USART1_IRQn);
265
+  /* USART2_IRQn interrupt configuration */
266
+  HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
267
+  HAL_NVIC_EnableIRQ(USART2_IRQn);
268
+  /* DMA1_Channel1_IRQn interrupt configuration */
269
+  HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
270
+  HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
271
+}
272
+
273
+/**
274
+  * @brief ADC1 Initialization Function
275
+  * @param None
276
+  * @retval None
277
+  */
278
+static void MX_ADC1_Init(void)
279
+{
280
+
281
+  /* USER CODE BEGIN ADC1_Init 0 */
282
+
283
+  /* USER CODE END ADC1_Init 0 */
284
+
285
+  ADC_ChannelConfTypeDef sConfig = {0};
286
+
287
+  /* USER CODE BEGIN ADC1_Init 1 */
288
+
289
+  /* USER CODE END ADC1_Init 1 */
290
+  /** Common config 
291
+  */
292
+  hadc1.Instance = ADC1;
293
+  hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
294
+  hadc1.Init.ContinuousConvMode = ENABLE;
295
+  hadc1.Init.DiscontinuousConvMode = DISABLE;
296
+  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
297
+  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
298
+  hadc1.Init.NbrOfConversion = 1;
299
+  if (HAL_ADC_Init(&hadc1) != HAL_OK)
300
+  {
301
+    Error_Handler();
302
+  }
303
+  /** Configure Regular Channel 
304
+  */
305
+  sConfig.Channel = ADC_CHANNEL_9;
306
+  sConfig.Rank = ADC_REGULAR_RANK_1;
307
+  sConfig.SamplingTime = ADC_SAMPLETIME_239CYCLES_5;
308
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
309
+  {
310
+    Error_Handler();
311
+  }
312
+  /* USER CODE BEGIN ADC1_Init 2 */
313
+
314
+  /* USER CODE END ADC1_Init 2 */
315
+
316
+}
317
+
318
+/**
319
+  * @brief ADC2 Initialization Function
320
+  * @param None
321
+  * @retval None
322
+  */
323
+static void MX_ADC2_Init(void)
324
+{
325
+
326
+  /* USER CODE BEGIN ADC2_Init 0 */
327
+
328
+  /* USER CODE END ADC2_Init 0 */
329
+
330
+  ADC_ChannelConfTypeDef sConfig = {0};
331
+
332
+  /* USER CODE BEGIN ADC2_Init 1 */
333
+
334
+  /* USER CODE END ADC2_Init 1 */
335
+  /** Common config 
336
+  */
337
+  hadc2.Instance = ADC2;
338
+  hadc2.Init.ScanConvMode = ADC_SCAN_DISABLE;
339
+  hadc2.Init.ContinuousConvMode = DISABLE;
340
+  hadc2.Init.DiscontinuousConvMode = DISABLE;
341
+  hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START;
342
+  hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT;
343
+  hadc2.Init.NbrOfConversion = 1;
344
+  if (HAL_ADC_Init(&hadc2) != HAL_OK)
345
+  {
346
+    Error_Handler();
347
+  }
348
+  /** Configure Regular Channel 
349
+  */
350
+  sConfig.Channel = ADC_CHANNEL_10;
351
+  sConfig.Rank = ADC_REGULAR_RANK_1;
352
+  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
353
+  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
354
+  {
355
+    Error_Handler();
356
+  }
357
+  /* USER CODE BEGIN ADC2_Init 2 */
358
+
359
+  /* USER CODE END ADC2_Init 2 */
360
+
361
+}
362
+
363
+/**
364
+  * @brief ADC3 Initialization Function
365
+  * @param None
366
+  * @retval None
367
+  */
368
+static void MX_ADC3_Init(void)
369
+{
370
+
371
+  /* USER CODE BEGIN ADC3_Init 0 */
372
+
373
+  /* USER CODE END ADC3_Init 0 */
374
+
375
+  ADC_ChannelConfTypeDef sConfig = {0};
376
+
377
+  /* USER CODE BEGIN ADC3_Init 1 */
378
+
379
+  /* USER CODE END ADC3_Init 1 */
380
+  /** Common config 
381
+  */
382
+  hadc3.Instance = ADC3;
383
+  hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE;
384
+  hadc3.Init.ContinuousConvMode = DISABLE;
385
+  hadc3.Init.DiscontinuousConvMode = DISABLE;
386
+  hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START;
387
+  hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT;
388
+  hadc3.Init.NbrOfConversion = 1;
389
+  if (HAL_ADC_Init(&hadc3) != HAL_OK)
390
+  {
391
+    Error_Handler();
392
+  }
393
+  /** Configure Regular Channel 
394
+  */
395
+  sConfig.Channel = ADC_CHANNEL_11;
396
+  sConfig.Rank = ADC_REGULAR_RANK_1;
397
+  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
398
+  if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
399
+  {
400
+    Error_Handler();
401
+  }
402
+  /* USER CODE BEGIN ADC3_Init 2 */
403
+
404
+  /* USER CODE END ADC3_Init 2 */
405
+
406
+}
407
+
408
+/**
409
+  * @brief TIM6 Initialization Function
410
+  * @param None
411
+  * @retval None
412
+  */
413
+static void MX_TIM6_Init(void)
414
+{
415
+
416
+  /* USER CODE BEGIN TIM6_Init 0 */
417
+
418
+  /* USER CODE END TIM6_Init 0 */
419
+
420
+  TIM_MasterConfigTypeDef sMasterConfig = {0};
421
+
422
+  /* USER CODE BEGIN TIM6_Init 1 */
423
+
424
+  /* USER CODE END TIM6_Init 1 */
425
+  htim6.Instance = TIM6;
426
+  htim6.Init.Prescaler = 6400-1;
427
+  htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
428
+  htim6.Init.Period = 10-1;
429
+  htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
430
+  if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
431
+  {
432
+    Error_Handler();
433
+  }
434
+  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
435
+  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
436
+  if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
437
+  {
438
+    Error_Handler();
439
+  }
440
+  /* USER CODE BEGIN TIM6_Init 2 */
441
+
442
+  /* USER CODE END TIM6_Init 2 */
443
+
444
+}
445
+
446
+/**
447
+  * @brief UART4 Initialization Function
448
+  * @param None
449
+  * @retval None
450
+  */
451
+static void MX_UART4_Init(void)
452
+{
453
+
454
+  /* USER CODE BEGIN UART4_Init 0 */
455
+
456
+  /* USER CODE END UART4_Init 0 */
457
+
458
+  /* USER CODE BEGIN UART4_Init 1 */
459
+
460
+  /* USER CODE END UART4_Init 1 */
461
+  huart4.Instance = UART4;
462
+  huart4.Init.BaudRate = 115200;
463
+  huart4.Init.WordLength = UART_WORDLENGTH_8B;
464
+  huart4.Init.StopBits = UART_STOPBITS_1;
465
+  huart4.Init.Parity = UART_PARITY_NONE;
466
+  huart4.Init.Mode = UART_MODE_TX_RX;
467
+  huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
468
+  huart4.Init.OverSampling = UART_OVERSAMPLING_16;
469
+  if (HAL_UART_Init(&huart4) != HAL_OK)
470
+  {
471
+    Error_Handler();
472
+  }
473
+  /* USER CODE BEGIN UART4_Init 2 */
474
+
475
+  /* USER CODE END UART4_Init 2 */
476
+
477
+}
478
+
479
+/**
480
+  * @brief USART1 Initialization Function
481
+  * @param None
482
+  * @retval None
483
+  */
484
+static void MX_USART1_UART_Init(void)
485
+{
486
+
487
+  /* USER CODE BEGIN USART1_Init 0 */
488
+
489
+  /* USER CODE END USART1_Init 0 */
490
+
491
+  /* USER CODE BEGIN USART1_Init 1 */
492
+
493
+  /* USER CODE END USART1_Init 1 */
494
+  huart1.Instance = USART1;
495
+  huart1.Init.BaudRate = 115200;
496
+  huart1.Init.WordLength = UART_WORDLENGTH_8B;
497
+  huart1.Init.StopBits = UART_STOPBITS_1;
498
+  huart1.Init.Parity = UART_PARITY_NONE;
499
+  huart1.Init.Mode = UART_MODE_TX_RX;
500
+  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
501
+  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
502
+  if (HAL_UART_Init(&huart1) != HAL_OK)
503
+  {
504
+    Error_Handler();
505
+  }
506
+  /* USER CODE BEGIN USART1_Init 2 */
507
+
508
+  /* USER CODE END USART1_Init 2 */
509
+
510
+}
511
+
512
+/**
513
+  * @brief USART2 Initialization Function
514
+  * @param None
515
+  * @retval None
516
+  */
517
+static void MX_USART2_UART_Init(void)
518
+{
519
+
520
+  /* USER CODE BEGIN USART2_Init 0 */
521
+
522
+  /* USER CODE END USART2_Init 0 */
523
+
524
+  /* USER CODE BEGIN USART2_Init 1 */
525
+
526
+  /* USER CODE END USART2_Init 1 */
527
+  huart2.Instance = USART2;
528
+  huart2.Init.BaudRate = 115200;
529
+  huart2.Init.WordLength = UART_WORDLENGTH_8B;
530
+  huart2.Init.StopBits = UART_STOPBITS_1;
531
+  huart2.Init.Parity = UART_PARITY_NONE;
532
+  huart2.Init.Mode = UART_MODE_TX_RX;
533
+  huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
534
+  huart2.Init.OverSampling = UART_OVERSAMPLING_16;
535
+  if (HAL_UART_Init(&huart2) != HAL_OK)
536
+  {
537
+    Error_Handler();
538
+  }
539
+  /* USER CODE BEGIN USART2_Init 2 */
540
+
541
+  /* USER CODE END USART2_Init 2 */
542
+
543
+}
544
+
545
+/** 
546
+  * Enable DMA controller clock
547
+  */
548
+static void MX_DMA_Init(void) 
549
+{
550
+
551
+  /* DMA controller clock enable */
552
+  __HAL_RCC_DMA1_CLK_ENABLE();
553
+
554
+}
555
+
556
+/**
557
+  * @brief GPIO Initialization Function
558
+  * @param None
559
+  * @retval None
560
+  */
561
+static void MX_GPIO_Init(void)
562
+{
563
+  GPIO_InitTypeDef GPIO_InitStruct = {0};
564
+
565
+  /* GPIO Ports Clock Enable */
566
+  __HAL_RCC_GPIOC_CLK_ENABLE();
567
+  __HAL_RCC_GPIOA_CLK_ENABLE();
568
+  __HAL_RCC_GPIOB_CLK_ENABLE();
569
+  __HAL_RCC_GPIOD_CLK_ENABLE();
570
+
571
+  /*Configure GPIO pin Output Level */
572
+  HAL_GPIO_WritePin(GPIOC, BOOT_LED_Pin|PLL_LD_B_Pin|PLL_EN_B_Pin, GPIO_PIN_RESET);
573
+
574
+  /*Configure GPIO pin Output Level */
575
+  HAL_GPIO_WritePin(GPIOA, LED_UL_G_B_Pin|LED_SD_R_B_Pin|PWR_LED_B_Pin|LED_DL_G_B_Pin 
576
+                          |LED_DL_R_B_Pin|ATT_DATA_B_Pin|ATT_EN1_B_Pin|ATT_EN2_B_Pin, GPIO_PIN_RESET);
577
+
578
+  /*Configure GPIO pin Output Level */
579
+  HAL_GPIO_WritePin(GPIOB, RST_WIFI_B_Pin|PA_EN_B_Pin|EXT_PA_EN_B_Pin|PLL_CLK_B_Pin 
580
+                          |PLL_DATA_B_Pin, GPIO_PIN_RESET);
581
+
582
+  /*Configure GPIO pin Output Level */
583
+  HAL_GPIO_WritePin(ATT_CLK_B_GPIO_Port, ATT_CLK_B_Pin, GPIO_PIN_RESET);
584
+
585
+  /*Configure GPIO pins : BOOT_LED_Pin PLL_LD_B_Pin PLL_EN_B_Pin */
586
+  GPIO_InitStruct.Pin = BOOT_LED_Pin|PLL_LD_B_Pin|PLL_EN_B_Pin;
587
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
588
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
589
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
590
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
591
+
592
+  /*Configure GPIO pins : LED_UL_G_B_Pin LED_SD_R_B_Pin PWR_LED_B_Pin LED_DL_G_B_Pin 
593
+                           LED_DL_R_B_Pin ATT_DATA_B_Pin ATT_EN1_B_Pin ATT_EN2_B_Pin */
594
+  GPIO_InitStruct.Pin = LED_UL_G_B_Pin|LED_SD_R_B_Pin|PWR_LED_B_Pin|LED_DL_G_B_Pin 
595
+                          |LED_DL_R_B_Pin|ATT_DATA_B_Pin|ATT_EN1_B_Pin|ATT_EN2_B_Pin;
596
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
597
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
598
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
599
+  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
600
+
601
+  /*Configure GPIO pins : RST_WIFI_B_Pin PA_EN_B_Pin EXT_PA_EN_B_Pin PLL_CLK_B_Pin 
602
+                           PLL_DATA_B_Pin */
603
+  GPIO_InitStruct.Pin = RST_WIFI_B_Pin|PA_EN_B_Pin|EXT_PA_EN_B_Pin|PLL_CLK_B_Pin 
604
+                          |PLL_DATA_B_Pin;
605
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
606
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
607
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
608
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
609
+
610
+  /*Configure GPIO pin : ATT_CLK_B_Pin */
611
+  GPIO_InitStruct.Pin = ATT_CLK_B_Pin;
612
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
613
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
614
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
615
+  HAL_GPIO_Init(ATT_CLK_B_GPIO_Port, &GPIO_InitStruct);
616
+
617
+}
618
+
619
+/* USER CODE BEGIN 4 */
620
+
621
+/* USER CODE END 4 */
622
+
623
+/**
624
+  * @brief  This function is executed in case of error occurrence.
625
+  * @retval None
626
+  */
627
+void Error_Handler(void)
628
+{
629
+  /* USER CODE BEGIN Error_Handler_Debug */
630
+  /* User can add his own implementation to report the HAL error return state */
631
+
632
+  /* USER CODE END Error_Handler_Debug */
633
+}
634
+
635
+#ifdef  USE_FULL_ASSERT
636
+/**
637
+  * @brief  Reports the name of the source file and the source line number
638
+  *         where the assert_param error has occurred.
639
+  * @param  file: pointer to the source file name
640
+  * @param  line: assert_param error line source number
641
+  * @retval None
642
+  */
643
+void assert_failed(uint8_t *file, uint32_t line)
644
+{ 
645
+  /* USER CODE BEGIN 6 */
646
+  /* User can add his own implementation to report the file name and line number,
647
+     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
648
+  /* USER CODE END 6 */
649
+}
650
+#endif /* USE_FULL_ASSERT */
651
+
652
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 652 - 0
insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/main(3110).c

@@ -0,0 +1,652 @@
1
+/* USER CODE BEGIN Header */
2
+/**
3
+  ******************************************************************************
4
+  * @file           : main.c
5
+  * @brief          : Main program body
6
+  ******************************************************************************
7
+  * @attention
8
+  *
9
+  * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10
+  * All rights reserved.</center></h2>
11
+  *
12
+  * This software component is licensed by ST under BSD 3-Clause license,
13
+  * the "License"; You may not use this file except in compliance with the
14
+  * License. You may obtain a copy of the License at:
15
+  *                        opensource.org/licenses/BSD-3-Clause
16
+  *
17
+  ******************************************************************************
18
+  */
19
+/* USER CODE END Header */
20
+
21
+/* Includes ------------------------------------------------------------------*/
22
+#include "main.h"
23
+
24
+/* Private includes ----------------------------------------------------------*/
25
+/* USER CODE BEGIN Includes */
26
+
27
+/* USER CODE END Includes */
28
+
29
+/* Private typedef -----------------------------------------------------------*/
30
+/* USER CODE BEGIN PTD */
31
+
32
+/* USER CODE END PTD */
33
+
34
+/* Private define ------------------------------------------------------------*/
35
+/* USER CODE BEGIN PD */
36
+
37
+/* USER CODE END PD */
38
+
39
+/* Private macro -------------------------------------------------------------*/
40
+/* USER CODE BEGIN PM */
41
+
42
+/* USER CODE END PM */
43
+
44
+/* Private variables ---------------------------------------------------------*/
45
+ADC_HandleTypeDef hadc1;
46
+ADC_HandleTypeDef hadc2;
47
+ADC_HandleTypeDef hadc3;
48
+DMA_HandleTypeDef hdma_adc1;
49
+
50
+TIM_HandleTypeDef htim6;
51
+
52
+UART_HandleTypeDef huart4;
53
+UART_HandleTypeDef huart1;
54
+UART_HandleTypeDef huart2;
55
+DMA_HandleTypeDef hdma_usart1_rx;
56
+DMA_HandleTypeDef hdma_usart1_tx;
57
+DMA_HandleTypeDef hdma_usart2_rx;
58
+DMA_HandleTypeDef hdma_usart2_tx;
59
+
60
+/* USER CODE BEGIN PV */
61
+volatile uint32_t UartTimerCnt = 0;
62
+volatile uint32_t LedTimerCnt = 0;
63
+volatile uint32_t InitTimerCnt = 0;
64
+volatile uint32_t AdcTimerCnt = 0;
65
+/* USER CODE END PV */
66
+
67
+/* Private function prototypes -----------------------------------------------*/
68
+void SystemClock_Config(void);
69
+static void MX_GPIO_Init(void);
70
+static void MX_DMA_Init(void);
71
+static void MX_ADC1_Init(void);
72
+static void MX_ADC2_Init(void);
73
+static void MX_ADC3_Init(void);
74
+static void MX_TIM6_Init(void);
75
+static void MX_USART1_UART_Init(void);
76
+static void MX_USART2_UART_Init(void);
77
+static void MX_UART4_Init(void);
78
+static void MX_NVIC_Init(void);
79
+/* USER CODE BEGIN PFP */
80
+
81
+/* USER CODE END PFP */
82
+
83
+/* Private user code ---------------------------------------------------------*/
84
+/* USER CODE BEGIN 0 */
85
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
86
+{
87
+
88
+    if(htim->Instance == TIM6){
89
+        UartTimerCnt++;
90
+        LedTimerCnt++;
91
+        InitTimerCnt++;
92
+        AdcTimerCnt++;
93
+    }
94
+}
95
+int _write (int file, uint8_t *ptr, uint16_t len)
96
+{
97
+    HAL_UART_Transmit (&huart1, ptr, len, 10);
98
+    return len;
99
+}
100
+uint16_t ADC_Value_RetFunc(void){
101
+  return ADCvalue[0];
102
+}
103
+extern UARTQUEUE TerminalQueue;
104
+uint32_t ADCvalue[ADC_EA];
105
+/* USER CODE END 0 */
106
+
107
+/**
108
+  * @brief  The application entry point.
109
+  * @retval int
110
+  */
111
+int main(void)
112
+{
113
+  /* USER CODE BEGIN 1 */
114
+	uint8_t tempdata[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A};
115
+  /* USER CODE END 1 */
116
+  
117
+
118
+  /* MCU Configuration--------------------------------------------------------*/
119
+
120
+  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
121
+  HAL_Init();
122
+
123
+  /* USER CODE BEGIN Init */
124
+
125
+  /* USER CODE END Init */
126
+
127
+  /* Configure the system clock */
128
+  SystemClock_Config();
129
+
130
+  /* USER CODE BEGIN SysInit */
131
+
132
+  /* USER CODE END SysInit */
133
+
134
+  /* Initialize all configured peripherals */
135
+  MX_GPIO_Init();
136
+  MX_DMA_Init();
137
+  MX_ADC1_Init();
138
+  MX_ADC2_Init();
139
+  MX_ADC3_Init();
140
+  MX_TIM6_Init();
141
+  MX_USART1_UART_Init();
142
+  MX_USART2_UART_Init();
143
+  MX_UART4_Init();
144
+
145
+  /* Initialize interrupts */
146
+  MX_NVIC_Init();
147
+  /* USER CODE BEGIN 2 */
148
+  HAL_TIM_Base_Start_IT(&htim6);
149
+  setbuf(stdout, NULL);
150
+  printf("Uart Start \r\n");
151
+  printf("Crc generate %x \r\n",CRC16_Generate(tempdata,11));
152
+  InitUartQueue(&hTerminal,&TerminalQueue);
153
+  InitUartQueue(&hWifi,&WifiQueue);
154
+
155
+  double temp_tmp = 3.3/4095;
156
+  uint16_t temp_val = 0;
157
+  HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, 1);
158
+  /* USER CODE END 2 */
159
+
160
+  /* Infinite loop */
161
+  /* USER CODE BEGIN WHILE */
162
+  while (1)
163
+  {
164
+	  if(LedTimerCnt > 100){
165
+		  HAL_GPIO_TogglePin(LED_UL_G_B_GPIO_Port,LED_UL_G_B_Pin);
166
+		  LedTimerCnt = 0;
167
+	  }
168
+	  if(InitTimerCnt >1000){
169
+		  ESP8266_Initialize();
170
+		  InitTimerCnt = 0;
171
+	  }
172
+	  if(AdcTimerCnt > 5000){
173
+//		  temp_val = ((ADCvalue[0] & 0xFF00)) | (ADCvalue[0] & 0x00FF);
174
+	      temp_val = ADCvalue[0];
175
+
176
+	      //printf("ADC Vale : %d \r\n",temp_val);
177
+	      //printf("ADC Vale : %f \r\n",temp_tmp * temp_val);
178
+	      AdcTimerCnt = 0;
179
+	  }
180
+	   while (TerminalQueue.data > 0) GetDataFromUartQueue(&hTerminal);
181
+	   while (WifiQueue.data > 0) GetDataFromUartQueue(&hWifi);
182
+    /* USER CODE END WHILE */
183
+
184
+    /* USER CODE BEGIN 3 */
185
+  }
186
+  /* USER CODE END 3 */
187
+}
188
+
189
+/**
190
+  * @brief System Clock Configuration
191
+  * @retval None
192
+  */
193
+void SystemClock_Config(void)
194
+{
195
+  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
196
+  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
197
+  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
198
+
199
+  /** Initializes the CPU, AHB and APB busses clocks 
200
+  */
201
+  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
202
+  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
203
+  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
204
+  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
205
+  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
206
+  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;
207
+  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
208
+  {
209
+    Error_Handler();
210
+  }
211
+  /** Initializes the CPU, AHB and APB busses clocks 
212
+  */
213
+  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
214
+                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
215
+  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
216
+  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
217
+  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
218
+  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
219
+
220
+  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
221
+  {
222
+    Error_Handler();
223
+  }
224
+  PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
225
+  PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;
226
+  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
227
+  {
228
+    Error_Handler();
229
+  }
230
+}
231
+
232
+/**
233
+  * @brief NVIC Configuration.
234
+  * @retval None
235
+  */
236
+static void MX_NVIC_Init(void)
237
+{
238
+  /* DMA1_Channel6_IRQn interrupt configuration */
239
+  HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 0, 0);
240
+  HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
241
+  /* DMA1_Channel5_IRQn interrupt configuration */
242
+  HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
243
+  HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
244
+  /* DMA1_Channel4_IRQn interrupt configuration */
245
+  HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
246
+  HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
247
+  /* DMA1_Channel7_IRQn interrupt configuration */
248
+  HAL_NVIC_SetPriority(DMA1_Channel7_IRQn, 0, 0);
249
+  HAL_NVIC_EnableIRQ(DMA1_Channel7_IRQn);
250
+  /* ADC3_IRQn interrupt configuration */
251
+  HAL_NVIC_SetPriority(ADC3_IRQn, 0, 0);
252
+  HAL_NVIC_EnableIRQ(ADC3_IRQn);
253
+  /* UART4_IRQn interrupt configuration */
254
+  HAL_NVIC_SetPriority(UART4_IRQn, 0, 0);
255
+  HAL_NVIC_EnableIRQ(UART4_IRQn);
256
+  /* TIM6_IRQn interrupt configuration */
257
+  HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
258
+  HAL_NVIC_EnableIRQ(TIM6_IRQn);
259
+  /* ADC1_2_IRQn interrupt configuration */
260
+  HAL_NVIC_SetPriority(ADC1_2_IRQn, 0, 0);
261
+  HAL_NVIC_EnableIRQ(ADC1_2_IRQn);
262
+  /* USART1_IRQn interrupt configuration */
263
+  HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
264
+  HAL_NVIC_EnableIRQ(USART1_IRQn);
265
+  /* USART2_IRQn interrupt configuration */
266
+  HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
267
+  HAL_NVIC_EnableIRQ(USART2_IRQn);
268
+  /* DMA1_Channel1_IRQn interrupt configuration */
269
+  HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
270
+  HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
271
+}
272
+
273
+/**
274
+  * @brief ADC1 Initialization Function
275
+  * @param None
276
+  * @retval None
277
+  */
278
+static void MX_ADC1_Init(void)
279
+{
280
+
281
+  /* USER CODE BEGIN ADC1_Init 0 */
282
+
283
+  /* USER CODE END ADC1_Init 0 */
284
+
285
+  ADC_ChannelConfTypeDef sConfig = {0};
286
+
287
+  /* USER CODE BEGIN ADC1_Init 1 */
288
+
289
+  /* USER CODE END ADC1_Init 1 */
290
+  /** Common config 
291
+  */
292
+  hadc1.Instance = ADC1;
293
+  hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
294
+  hadc1.Init.ContinuousConvMode = ENABLE;
295
+  hadc1.Init.DiscontinuousConvMode = DISABLE;
296
+  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
297
+  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
298
+  hadc1.Init.NbrOfConversion = 1;
299
+  if (HAL_ADC_Init(&hadc1) != HAL_OK)
300
+  {
301
+    Error_Handler();
302
+  }
303
+  /** Configure Regular Channel 
304
+  */
305
+  sConfig.Channel = ADC_CHANNEL_9;
306
+  sConfig.Rank = ADC_REGULAR_RANK_1;
307
+  sConfig.SamplingTime = ADC_SAMPLETIME_239CYCLES_5;
308
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
309
+  {
310
+    Error_Handler();
311
+  }
312
+  /* USER CODE BEGIN ADC1_Init 2 */
313
+
314
+  /* USER CODE END ADC1_Init 2 */
315
+
316
+}
317
+
318
+/**
319
+  * @brief ADC2 Initialization Function
320
+  * @param None
321
+  * @retval None
322
+  */
323
+static void MX_ADC2_Init(void)
324
+{
325
+
326
+  /* USER CODE BEGIN ADC2_Init 0 */
327
+
328
+  /* USER CODE END ADC2_Init 0 */
329
+
330
+  ADC_ChannelConfTypeDef sConfig = {0};
331
+
332
+  /* USER CODE BEGIN ADC2_Init 1 */
333
+
334
+  /* USER CODE END ADC2_Init 1 */
335
+  /** Common config 
336
+  */
337
+  hadc2.Instance = ADC2;
338
+  hadc2.Init.ScanConvMode = ADC_SCAN_DISABLE;
339
+  hadc2.Init.ContinuousConvMode = DISABLE;
340
+  hadc2.Init.DiscontinuousConvMode = DISABLE;
341
+  hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START;
342
+  hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT;
343
+  hadc2.Init.NbrOfConversion = 1;
344
+  if (HAL_ADC_Init(&hadc2) != HAL_OK)
345
+  {
346
+    Error_Handler();
347
+  }
348
+  /** Configure Regular Channel 
349
+  */
350
+  sConfig.Channel = ADC_CHANNEL_10;
351
+  sConfig.Rank = ADC_REGULAR_RANK_1;
352
+  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
353
+  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
354
+  {
355
+    Error_Handler();
356
+  }
357
+  /* USER CODE BEGIN ADC2_Init 2 */
358
+
359
+  /* USER CODE END ADC2_Init 2 */
360
+
361
+}
362
+
363
+/**
364
+  * @brief ADC3 Initialization Function
365
+  * @param None
366
+  * @retval None
367
+  */
368
+static void MX_ADC3_Init(void)
369
+{
370
+
371
+  /* USER CODE BEGIN ADC3_Init 0 */
372
+
373
+  /* USER CODE END ADC3_Init 0 */
374
+
375
+  ADC_ChannelConfTypeDef sConfig = {0};
376
+
377
+  /* USER CODE BEGIN ADC3_Init 1 */
378
+
379
+  /* USER CODE END ADC3_Init 1 */
380
+  /** Common config 
381
+  */
382
+  hadc3.Instance = ADC3;
383
+  hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE;
384
+  hadc3.Init.ContinuousConvMode = DISABLE;
385
+  hadc3.Init.DiscontinuousConvMode = DISABLE;
386
+  hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START;
387
+  hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT;
388
+  hadc3.Init.NbrOfConversion = 1;
389
+  if (HAL_ADC_Init(&hadc3) != HAL_OK)
390
+  {
391
+    Error_Handler();
392
+  }
393
+  /** Configure Regular Channel 
394
+  */
395
+  sConfig.Channel = ADC_CHANNEL_11;
396
+  sConfig.Rank = ADC_REGULAR_RANK_1;
397
+  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
398
+  if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
399
+  {
400
+    Error_Handler();
401
+  }
402
+  /* USER CODE BEGIN ADC3_Init 2 */
403
+
404
+  /* USER CODE END ADC3_Init 2 */
405
+
406
+}
407
+
408
+/**
409
+  * @brief TIM6 Initialization Function
410
+  * @param None
411
+  * @retval None
412
+  */
413
+static void MX_TIM6_Init(void)
414
+{
415
+
416
+  /* USER CODE BEGIN TIM6_Init 0 */
417
+
418
+  /* USER CODE END TIM6_Init 0 */
419
+
420
+  TIM_MasterConfigTypeDef sMasterConfig = {0};
421
+
422
+  /* USER CODE BEGIN TIM6_Init 1 */
423
+
424
+  /* USER CODE END TIM6_Init 1 */
425
+  htim6.Instance = TIM6;
426
+  htim6.Init.Prescaler = 6400-1;
427
+  htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
428
+  htim6.Init.Period = 10-1;
429
+  htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
430
+  if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
431
+  {
432
+    Error_Handler();
433
+  }
434
+  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
435
+  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
436
+  if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
437
+  {
438
+    Error_Handler();
439
+  }
440
+  /* USER CODE BEGIN TIM6_Init 2 */
441
+
442
+  /* USER CODE END TIM6_Init 2 */
443
+
444
+}
445
+
446
+/**
447
+  * @brief UART4 Initialization Function
448
+  * @param None
449
+  * @retval None
450
+  */
451
+static void MX_UART4_Init(void)
452
+{
453
+
454
+  /* USER CODE BEGIN UART4_Init 0 */
455
+
456
+  /* USER CODE END UART4_Init 0 */
457
+
458
+  /* USER CODE BEGIN UART4_Init 1 */
459
+
460
+  /* USER CODE END UART4_Init 1 */
461
+  huart4.Instance = UART4;
462
+  huart4.Init.BaudRate = 115200;
463
+  huart4.Init.WordLength = UART_WORDLENGTH_8B;
464
+  huart4.Init.StopBits = UART_STOPBITS_1;
465
+  huart4.Init.Parity = UART_PARITY_NONE;
466
+  huart4.Init.Mode = UART_MODE_TX_RX;
467
+  huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
468
+  huart4.Init.OverSampling = UART_OVERSAMPLING_16;
469
+  if (HAL_UART_Init(&huart4) != HAL_OK)
470
+  {
471
+    Error_Handler();
472
+  }
473
+  /* USER CODE BEGIN UART4_Init 2 */
474
+
475
+  /* USER CODE END UART4_Init 2 */
476
+
477
+}
478
+
479
+/**
480
+  * @brief USART1 Initialization Function
481
+  * @param None
482
+  * @retval None
483
+  */
484
+static void MX_USART1_UART_Init(void)
485
+{
486
+
487
+  /* USER CODE BEGIN USART1_Init 0 */
488
+
489
+  /* USER CODE END USART1_Init 0 */
490
+
491
+  /* USER CODE BEGIN USART1_Init 1 */
492
+
493
+  /* USER CODE END USART1_Init 1 */
494
+  huart1.Instance = USART1;
495
+  huart1.Init.BaudRate = 115200;
496
+  huart1.Init.WordLength = UART_WORDLENGTH_8B;
497
+  huart1.Init.StopBits = UART_STOPBITS_1;
498
+  huart1.Init.Parity = UART_PARITY_NONE;
499
+  huart1.Init.Mode = UART_MODE_TX_RX;
500
+  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
501
+  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
502
+  if (HAL_UART_Init(&huart1) != HAL_OK)
503
+  {
504
+    Error_Handler();
505
+  }
506
+  /* USER CODE BEGIN USART1_Init 2 */
507
+
508
+  /* USER CODE END USART1_Init 2 */
509
+
510
+}
511
+
512
+/**
513
+  * @brief USART2 Initialization Function
514
+  * @param None
515
+  * @retval None
516
+  */
517
+static void MX_USART2_UART_Init(void)
518
+{
519
+
520
+  /* USER CODE BEGIN USART2_Init 0 */
521
+
522
+  /* USER CODE END USART2_Init 0 */
523
+
524
+  /* USER CODE BEGIN USART2_Init 1 */
525
+
526
+  /* USER CODE END USART2_Init 1 */
527
+  huart2.Instance = USART2;
528
+  huart2.Init.BaudRate = 115200;
529
+  huart2.Init.WordLength = UART_WORDLENGTH_8B;
530
+  huart2.Init.StopBits = UART_STOPBITS_1;
531
+  huart2.Init.Parity = UART_PARITY_NONE;
532
+  huart2.Init.Mode = UART_MODE_TX_RX;
533
+  huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
534
+  huart2.Init.OverSampling = UART_OVERSAMPLING_16;
535
+  if (HAL_UART_Init(&huart2) != HAL_OK)
536
+  {
537
+    Error_Handler();
538
+  }
539
+  /* USER CODE BEGIN USART2_Init 2 */
540
+
541
+  /* USER CODE END USART2_Init 2 */
542
+
543
+}
544
+
545
+/** 
546
+  * Enable DMA controller clock
547
+  */
548
+static void MX_DMA_Init(void) 
549
+{
550
+
551
+  /* DMA controller clock enable */
552
+  __HAL_RCC_DMA1_CLK_ENABLE();
553
+
554
+}
555
+
556
+/**
557
+  * @brief GPIO Initialization Function
558
+  * @param None
559
+  * @retval None
560
+  */
561
+static void MX_GPIO_Init(void)
562
+{
563
+  GPIO_InitTypeDef GPIO_InitStruct = {0};
564
+
565
+  /* GPIO Ports Clock Enable */
566
+  __HAL_RCC_GPIOC_CLK_ENABLE();
567
+  __HAL_RCC_GPIOA_CLK_ENABLE();
568
+  __HAL_RCC_GPIOB_CLK_ENABLE();
569
+  __HAL_RCC_GPIOD_CLK_ENABLE();
570
+
571
+  /*Configure GPIO pin Output Level */
572
+  HAL_GPIO_WritePin(GPIOC, BOOT_LED_Pin|PLL_LD_B_Pin|PLL_EN_B_Pin, GPIO_PIN_RESET);
573
+
574
+  /*Configure GPIO pin Output Level */
575
+  HAL_GPIO_WritePin(GPIOA, LED_UL_G_B_Pin|LED_SD_R_B_Pin|PWR_LED_B_Pin|LED_DL_G_B_Pin 
576
+                          |LED_DL_R_B_Pin|ATT_DATA_B_Pin|ATT_EN1_B_Pin|ATT_EN2_B_Pin, GPIO_PIN_RESET);
577
+
578
+  /*Configure GPIO pin Output Level */
579
+  HAL_GPIO_WritePin(GPIOB, RST_WIFI_B_Pin|PA_EN_B_Pin|EXT_PA_EN_B_Pin|PLL_CLK_B_Pin 
580
+                          |PLL_DATA_B_Pin, GPIO_PIN_RESET);
581
+
582
+  /*Configure GPIO pin Output Level */
583
+  HAL_GPIO_WritePin(ATT_CLK_B_GPIO_Port, ATT_CLK_B_Pin, GPIO_PIN_RESET);
584
+
585
+  /*Configure GPIO pins : BOOT_LED_Pin PLL_LD_B_Pin PLL_EN_B_Pin */
586
+  GPIO_InitStruct.Pin = BOOT_LED_Pin|PLL_LD_B_Pin|PLL_EN_B_Pin;
587
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
588
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
589
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
590
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
591
+
592
+  /*Configure GPIO pins : LED_UL_G_B_Pin LED_SD_R_B_Pin PWR_LED_B_Pin LED_DL_G_B_Pin 
593
+                           LED_DL_R_B_Pin ATT_DATA_B_Pin ATT_EN1_B_Pin ATT_EN2_B_Pin */
594
+  GPIO_InitStruct.Pin = LED_UL_G_B_Pin|LED_SD_R_B_Pin|PWR_LED_B_Pin|LED_DL_G_B_Pin 
595
+                          |LED_DL_R_B_Pin|ATT_DATA_B_Pin|ATT_EN1_B_Pin|ATT_EN2_B_Pin;
596
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
597
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
598
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
599
+  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
600
+
601
+  /*Configure GPIO pins : RST_WIFI_B_Pin PA_EN_B_Pin EXT_PA_EN_B_Pin PLL_CLK_B_Pin 
602
+                           PLL_DATA_B_Pin */
603
+  GPIO_InitStruct.Pin = RST_WIFI_B_Pin|PA_EN_B_Pin|EXT_PA_EN_B_Pin|PLL_CLK_B_Pin 
604
+                          |PLL_DATA_B_Pin;
605
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
606
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
607
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
608
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
609
+
610
+  /*Configure GPIO pin : ATT_CLK_B_Pin */
611
+  GPIO_InitStruct.Pin = ATT_CLK_B_Pin;
612
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
613
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
614
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
615
+  HAL_GPIO_Init(ATT_CLK_B_GPIO_Port, &GPIO_InitStruct);
616
+
617
+}
618
+
619
+/* USER CODE BEGIN 4 */
620
+
621
+/* USER CODE END 4 */
622
+
623
+/**
624
+  * @brief  This function is executed in case of error occurrence.
625
+  * @retval None
626
+  */
627
+void Error_Handler(void)
628
+{
629
+  /* USER CODE BEGIN Error_Handler_Debug */
630
+  /* User can add his own implementation to report the HAL error return state */
631
+
632
+  /* USER CODE END Error_Handler_Debug */
633
+}
634
+
635
+#ifdef  USE_FULL_ASSERT
636
+/**
637
+  * @brief  Reports the name of the source file and the source line number
638
+  *         where the assert_param error has occurred.
639
+  * @param  file: pointer to the source file name
640
+  * @param  line: assert_param error line source number
641
+  * @retval None
642
+  */
643
+void assert_failed(uint8_t *file, uint32_t line)
644
+{ 
645
+  /* USER CODE BEGIN 6 */
646
+  /* User can add his own implementation to report the file name and line number,
647
+     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
648
+  /* USER CODE END 6 */
649
+}
650
+#endif /* USE_FULL_ASSERT */
651
+
652
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 652 - 0
insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/main(4716).c

@@ -0,0 +1,652 @@
1
+/* USER CODE BEGIN Header */
2
+/**
3
+  ******************************************************************************
4
+  * @file           : main.c
5
+  * @brief          : Main program body
6
+  ******************************************************************************
7
+  * @attention
8
+  *
9
+  * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10
+  * All rights reserved.</center></h2>
11
+  *
12
+  * This software component is licensed by ST under BSD 3-Clause license,
13
+  * the "License"; You may not use this file except in compliance with the
14
+  * License. You may obtain a copy of the License at:
15
+  *                        opensource.org/licenses/BSD-3-Clause
16
+  *
17
+  ******************************************************************************
18
+  */
19
+/* USER CODE END Header */
20
+
21
+/* Includes ------------------------------------------------------------------*/
22
+#include "main.h"
23
+
24
+/* Private includes ----------------------------------------------------------*/
25
+/* USER CODE BEGIN Includes */
26
+
27
+/* USER CODE END Includes */
28
+
29
+/* Private typedef -----------------------------------------------------------*/
30
+/* USER CODE BEGIN PTD */
31
+
32
+/* USER CODE END PTD */
33
+
34
+/* Private define ------------------------------------------------------------*/
35
+/* USER CODE BEGIN PD */
36
+
37
+/* USER CODE END PD */
38
+
39
+/* Private macro -------------------------------------------------------------*/
40
+/* USER CODE BEGIN PM */
41
+
42
+/* USER CODE END PM */
43
+
44
+/* Private variables ---------------------------------------------------------*/
45
+ADC_HandleTypeDef hadc1;
46
+ADC_HandleTypeDef hadc2;
47
+ADC_HandleTypeDef hadc3;
48
+DMA_HandleTypeDef hdma_adc1;
49
+
50
+TIM_HandleTypeDef htim6;
51
+
52
+UART_HandleTypeDef huart4;
53
+UART_HandleTypeDef huart1;
54
+UART_HandleTypeDef huart2;
55
+DMA_HandleTypeDef hdma_usart1_rx;
56
+DMA_HandleTypeDef hdma_usart1_tx;
57
+DMA_HandleTypeDef hdma_usart2_rx;
58
+DMA_HandleTypeDef hdma_usart2_tx;
59
+
60
+/* USER CODE BEGIN PV */
61
+volatile uint32_t UartTimerCnt = 0;
62
+volatile uint32_t LedTimerCnt = 0;
63
+volatile uint32_t InitTimerCnt = 0;
64
+volatile uint32_t AdcTimerCnt = 0;
65
+/* USER CODE END PV */
66
+
67
+/* Private function prototypes -----------------------------------------------*/
68
+void SystemClock_Config(void);
69
+static void MX_GPIO_Init(void);
70
+static void MX_DMA_Init(void);
71
+static void MX_ADC1_Init(void);
72
+static void MX_ADC2_Init(void);
73
+static void MX_ADC3_Init(void);
74
+static void MX_TIM6_Init(void);
75
+static void MX_USART1_UART_Init(void);
76
+static void MX_USART2_UART_Init(void);
77
+static void MX_UART4_Init(void);
78
+static void MX_NVIC_Init(void);
79
+/* USER CODE BEGIN PFP */
80
+
81
+/* USER CODE END PFP */
82
+
83
+/* Private user code ---------------------------------------------------------*/
84
+/* USER CODE BEGIN 0 */
85
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
86
+{
87
+
88
+    if(htim->Instance == TIM6){
89
+        UartTimerCnt++;
90
+        LedTimerCnt++;
91
+        InitTimerCnt++;
92
+        AdcTimerCnt++;
93
+    }
94
+}
95
+int _write (int file, uint8_t *ptr, uint16_t len)
96
+{
97
+    HAL_UART_Transmit (&huart1, ptr, len, 10);
98
+    return len;
99
+}
100
+uint16_t ADC_Value_RetFunc(void){
101
+  return ADCvalue[0];
102
+}
103
+extern UARTQUEUE TerminalQueue;
104
+uint32_t ADCvalue[ADC_EA];
105
+/* USER CODE END 0 */
106
+
107
+/**
108
+  * @brief  The application entry point.
109
+  * @retval int
110
+  */
111
+int main(void)
112
+{
113
+  /* USER CODE BEGIN 1 */
114
+	uint8_t tempdata[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A};
115
+  /* USER CODE END 1 */
116
+  
117
+
118
+  /* MCU Configuration--------------------------------------------------------*/
119
+
120
+  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
121
+  HAL_Init();
122
+
123
+  /* USER CODE BEGIN Init */
124
+
125
+  /* USER CODE END Init */
126
+
127
+  /* Configure the system clock */
128
+  SystemClock_Config();
129
+
130
+  /* USER CODE BEGIN SysInit */
131
+
132
+  /* USER CODE END SysInit */
133
+
134
+  /* Initialize all configured peripherals */
135
+  MX_GPIO_Init();
136
+  MX_DMA_Init();
137
+  MX_ADC1_Init();
138
+  MX_ADC2_Init();
139
+  MX_ADC3_Init();
140
+  MX_TIM6_Init();
141
+  MX_USART1_UART_Init();
142
+  MX_USART2_UART_Init();
143
+  MX_UART4_Init();
144
+
145
+  /* Initialize interrupts */
146
+  MX_NVIC_Init();
147
+  /* USER CODE BEGIN 2 */
148
+  HAL_TIM_Base_Start_IT(&htim6);
149
+  setbuf(stdout, NULL);
150
+  printf("Uart Start \r\n");
151
+  printf("Crc generate %x \r\n",CRC16_Generate(tempdata,11));
152
+  InitUartQueue(&hTerminal,&TerminalQueue);
153
+  InitUartQueue(&hWifi,&WifiQueue);
154
+
155
+  double temp_tmp = 3.3/4095;
156
+  uint16_t temp_val = 0;
157
+  HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, 1);
158
+  /* USER CODE END 2 */
159
+
160
+  /* Infinite loop */
161
+  /* USER CODE BEGIN WHILE */
162
+  while (1)
163
+  {
164
+	  if(LedTimerCnt > 100){
165
+		  HAL_GPIO_TogglePin(LED_UL_G_B_GPIO_Port,LED_UL_G_B_Pin);
166
+		  LedTimerCnt = 0;
167
+	  }
168
+	  if(InitTimerCnt >1000){
169
+		  ESP8266_Initialize();
170
+		  InitTimerCnt = 0;
171
+	  }
172
+	  if(AdcTimerCnt > 3000){
173
+//		  temp_val = ((ADCvalue[0] & 0xFF00)) | (ADCvalue[0] & 0x00FF);
174
+	      temp_val = ADCvalue[0];
175
+          printf("=================\n");
176
+	      printf("ADC Vale : %d \r\n",temp_val);
177
+	      printf("ADC Vale : %f \r\n",temp_tmp * temp_val);
178
+	      AdcTimerCnt = 0;
179
+	  }
180
+	   while (TerminalQueue.data > 0) GetDataFromUartQueue(&hTerminal);
181
+	   while (WifiQueue.data > 0) GetDataFromUartQueue(&hWifi);
182
+    /* USER CODE END WHILE */
183
+
184
+    /* USER CODE BEGIN 3 */
185
+  }
186
+  /* USER CODE END 3 */
187
+}
188
+
189
+/**
190
+  * @brief System Clock Configuration
191
+  * @retval None
192
+  */
193
+void SystemClock_Config(void)
194
+{
195
+  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
196
+  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
197
+  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
198
+
199
+  /** Initializes the CPU, AHB and APB busses clocks 
200
+  */
201
+  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
202
+  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
203
+  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
204
+  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
205
+  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
206
+  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;
207
+  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
208
+  {
209
+    Error_Handler();
210
+  }
211
+  /** Initializes the CPU, AHB and APB busses clocks 
212
+  */
213
+  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
214
+                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
215
+  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
216
+  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
217
+  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
218
+  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
219
+
220
+  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
221
+  {
222
+    Error_Handler();
223
+  }
224
+  PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
225
+  PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;
226
+  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
227
+  {
228
+    Error_Handler();
229
+  }
230
+}
231
+
232
+/**
233
+  * @brief NVIC Configuration.
234
+  * @retval None
235
+  */
236
+static void MX_NVIC_Init(void)
237
+{
238
+  /* DMA1_Channel6_IRQn interrupt configuration */
239
+  HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 0, 0);
240
+  HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
241
+  /* DMA1_Channel5_IRQn interrupt configuration */
242
+  HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
243
+  HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
244
+  /* DMA1_Channel4_IRQn interrupt configuration */
245
+  HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
246
+  HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
247
+  /* DMA1_Channel7_IRQn interrupt configuration */
248
+  HAL_NVIC_SetPriority(DMA1_Channel7_IRQn, 0, 0);
249
+  HAL_NVIC_EnableIRQ(DMA1_Channel7_IRQn);
250
+  /* ADC3_IRQn interrupt configuration */
251
+  HAL_NVIC_SetPriority(ADC3_IRQn, 0, 0);
252
+  HAL_NVIC_EnableIRQ(ADC3_IRQn);
253
+  /* UART4_IRQn interrupt configuration */
254
+  HAL_NVIC_SetPriority(UART4_IRQn, 0, 0);
255
+  HAL_NVIC_EnableIRQ(UART4_IRQn);
256
+  /* TIM6_IRQn interrupt configuration */
257
+  HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
258
+  HAL_NVIC_EnableIRQ(TIM6_IRQn);
259
+  /* ADC1_2_IRQn interrupt configuration */
260
+  HAL_NVIC_SetPriority(ADC1_2_IRQn, 0, 0);
261
+  HAL_NVIC_EnableIRQ(ADC1_2_IRQn);
262
+  /* USART1_IRQn interrupt configuration */
263
+  HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
264
+  HAL_NVIC_EnableIRQ(USART1_IRQn);
265
+  /* USART2_IRQn interrupt configuration */
266
+  HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
267
+  HAL_NVIC_EnableIRQ(USART2_IRQn);
268
+  /* DMA1_Channel1_IRQn interrupt configuration */
269
+  HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
270
+  HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
271
+}
272
+
273
+/**
274
+  * @brief ADC1 Initialization Function
275
+  * @param None
276
+  * @retval None
277
+  */
278
+static void MX_ADC1_Init(void)
279
+{
280
+
281
+  /* USER CODE BEGIN ADC1_Init 0 */
282
+
283
+  /* USER CODE END ADC1_Init 0 */
284
+
285
+  ADC_ChannelConfTypeDef sConfig = {0};
286
+
287
+  /* USER CODE BEGIN ADC1_Init 1 */
288
+
289
+  /* USER CODE END ADC1_Init 1 */
290
+  /** Common config 
291
+  */
292
+  hadc1.Instance = ADC1;
293
+  hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
294
+  hadc1.Init.ContinuousConvMode = ENABLE;
295
+  hadc1.Init.DiscontinuousConvMode = DISABLE;
296
+  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
297
+  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
298
+  hadc1.Init.NbrOfConversion = 1;
299
+  if (HAL_ADC_Init(&hadc1) != HAL_OK)
300
+  {
301
+    Error_Handler();
302
+  }
303
+  /** Configure Regular Channel 
304
+  */
305
+  sConfig.Channel = ADC_CHANNEL_9;
306
+  sConfig.Rank = ADC_REGULAR_RANK_1;
307
+  sConfig.SamplingTime = ADC_SAMPLETIME_239CYCLES_5;
308
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
309
+  {
310
+    Error_Handler();
311
+  }
312
+  /* USER CODE BEGIN ADC1_Init 2 */
313
+
314
+  /* USER CODE END ADC1_Init 2 */
315
+
316
+}
317
+
318
+/**
319
+  * @brief ADC2 Initialization Function
320
+  * @param None
321
+  * @retval None
322
+  */
323
+static void MX_ADC2_Init(void)
324
+{
325
+
326
+  /* USER CODE BEGIN ADC2_Init 0 */
327
+
328
+  /* USER CODE END ADC2_Init 0 */
329
+
330
+  ADC_ChannelConfTypeDef sConfig = {0};
331
+
332
+  /* USER CODE BEGIN ADC2_Init 1 */
333
+
334
+  /* USER CODE END ADC2_Init 1 */
335
+  /** Common config 
336
+  */
337
+  hadc2.Instance = ADC2;
338
+  hadc2.Init.ScanConvMode = ADC_SCAN_DISABLE;
339
+  hadc2.Init.ContinuousConvMode = DISABLE;
340
+  hadc2.Init.DiscontinuousConvMode = DISABLE;
341
+  hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START;
342
+  hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT;
343
+  hadc2.Init.NbrOfConversion = 1;
344
+  if (HAL_ADC_Init(&hadc2) != HAL_OK)
345
+  {
346
+    Error_Handler();
347
+  }
348
+  /** Configure Regular Channel 
349
+  */
350
+  sConfig.Channel = ADC_CHANNEL_10;
351
+  sConfig.Rank = ADC_REGULAR_RANK_1;
352
+  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
353
+  if (HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK)
354
+  {
355
+    Error_Handler();
356
+  }
357
+  /* USER CODE BEGIN ADC2_Init 2 */
358
+
359
+  /* USER CODE END ADC2_Init 2 */
360
+
361
+}
362
+
363
+/**
364
+  * @brief ADC3 Initialization Function
365
+  * @param None
366
+  * @retval None
367
+  */
368
+static void MX_ADC3_Init(void)
369
+{
370
+
371
+  /* USER CODE BEGIN ADC3_Init 0 */
372
+
373
+  /* USER CODE END ADC3_Init 0 */
374
+
375
+  ADC_ChannelConfTypeDef sConfig = {0};
376
+
377
+  /* USER CODE BEGIN ADC3_Init 1 */
378
+
379
+  /* USER CODE END ADC3_Init 1 */
380
+  /** Common config 
381
+  */
382
+  hadc3.Instance = ADC3;
383
+  hadc3.Init.ScanConvMode = ADC_SCAN_DISABLE;
384
+  hadc3.Init.ContinuousConvMode = DISABLE;
385
+  hadc3.Init.DiscontinuousConvMode = DISABLE;
386
+  hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START;
387
+  hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT;
388
+  hadc3.Init.NbrOfConversion = 1;
389
+  if (HAL_ADC_Init(&hadc3) != HAL_OK)
390
+  {
391
+    Error_Handler();
392
+  }
393
+  /** Configure Regular Channel 
394
+  */
395
+  sConfig.Channel = ADC_CHANNEL_11;
396
+  sConfig.Rank = ADC_REGULAR_RANK_1;
397
+  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
398
+  if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
399
+  {
400
+    Error_Handler();
401
+  }
402
+  /* USER CODE BEGIN ADC3_Init 2 */
403
+
404
+  /* USER CODE END ADC3_Init 2 */
405
+
406
+}
407
+
408
+/**
409
+  * @brief TIM6 Initialization Function
410
+  * @param None
411
+  * @retval None
412
+  */
413
+static void MX_TIM6_Init(void)
414
+{
415
+
416
+  /* USER CODE BEGIN TIM6_Init 0 */
417
+
418
+  /* USER CODE END TIM6_Init 0 */
419
+
420
+  TIM_MasterConfigTypeDef sMasterConfig = {0};
421
+
422
+  /* USER CODE BEGIN TIM6_Init 1 */
423
+
424
+  /* USER CODE END TIM6_Init 1 */
425
+  htim6.Instance = TIM6;
426
+  htim6.Init.Prescaler = 6400-1;
427
+  htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
428
+  htim6.Init.Period = 10-1;
429
+  htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
430
+  if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
431
+  {
432
+    Error_Handler();
433
+  }
434
+  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
435
+  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
436
+  if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
437
+  {
438
+    Error_Handler();
439
+  }
440
+  /* USER CODE BEGIN TIM6_Init 2 */
441
+
442
+  /* USER CODE END TIM6_Init 2 */
443
+
444
+}
445
+
446
+/**
447
+  * @brief UART4 Initialization Function
448
+  * @param None
449
+  * @retval None
450
+  */
451
+static void MX_UART4_Init(void)
452
+{
453
+
454
+  /* USER CODE BEGIN UART4_Init 0 */
455
+
456
+  /* USER CODE END UART4_Init 0 */
457
+
458
+  /* USER CODE BEGIN UART4_Init 1 */
459
+
460
+  /* USER CODE END UART4_Init 1 */
461
+  huart4.Instance = UART4;
462
+  huart4.Init.BaudRate = 115200;
463
+  huart4.Init.WordLength = UART_WORDLENGTH_8B;
464
+  huart4.Init.StopBits = UART_STOPBITS_1;
465
+  huart4.Init.Parity = UART_PARITY_NONE;
466
+  huart4.Init.Mode = UART_MODE_TX_RX;
467
+  huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
468
+  huart4.Init.OverSampling = UART_OVERSAMPLING_16;
469
+  if (HAL_UART_Init(&huart4) != HAL_OK)
470
+  {
471
+    Error_Handler();
472
+  }
473
+  /* USER CODE BEGIN UART4_Init 2 */
474
+
475
+  /* USER CODE END UART4_Init 2 */
476
+
477
+}
478
+
479
+/**
480
+  * @brief USART1 Initialization Function
481
+  * @param None
482
+  * @retval None
483
+  */
484
+static void MX_USART1_UART_Init(void)
485
+{
486
+
487
+  /* USER CODE BEGIN USART1_Init 0 */
488
+
489
+  /* USER CODE END USART1_Init 0 */
490
+
491
+  /* USER CODE BEGIN USART1_Init 1 */
492
+
493
+  /* USER CODE END USART1_Init 1 */
494
+  huart1.Instance = USART1;
495
+  huart1.Init.BaudRate = 115200;
496
+  huart1.Init.WordLength = UART_WORDLENGTH_8B;
497
+  huart1.Init.StopBits = UART_STOPBITS_1;
498
+  huart1.Init.Parity = UART_PARITY_NONE;
499
+  huart1.Init.Mode = UART_MODE_TX_RX;
500
+  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
501
+  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
502
+  if (HAL_UART_Init(&huart1) != HAL_OK)
503
+  {
504
+    Error_Handler();
505
+  }
506
+  /* USER CODE BEGIN USART1_Init 2 */
507
+
508
+  /* USER CODE END USART1_Init 2 */
509
+
510
+}
511
+
512
+/**
513
+  * @brief USART2 Initialization Function
514
+  * @param None
515
+  * @retval None
516
+  */
517
+static void MX_USART2_UART_Init(void)
518
+{
519
+
520
+  /* USER CODE BEGIN USART2_Init 0 */
521
+
522
+  /* USER CODE END USART2_Init 0 */
523
+
524
+  /* USER CODE BEGIN USART2_Init 1 */
525
+
526
+  /* USER CODE END USART2_Init 1 */
527
+  huart2.Instance = USART2;
528
+  huart2.Init.BaudRate = 115200;
529
+  huart2.Init.WordLength = UART_WORDLENGTH_8B;
530
+  huart2.Init.StopBits = UART_STOPBITS_1;
531
+  huart2.Init.Parity = UART_PARITY_NONE;
532
+  huart2.Init.Mode = UART_MODE_TX_RX;
533
+  huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
534
+  huart2.Init.OverSampling = UART_OVERSAMPLING_16;
535
+  if (HAL_UART_Init(&huart2) != HAL_OK)
536
+  {
537
+    Error_Handler();
538
+  }
539
+  /* USER CODE BEGIN USART2_Init 2 */
540
+
541
+  /* USER CODE END USART2_Init 2 */
542
+
543
+}
544
+
545
+/** 
546
+  * Enable DMA controller clock
547
+  */
548
+static void MX_DMA_Init(void) 
549
+{
550
+
551
+  /* DMA controller clock enable */
552
+  __HAL_RCC_DMA1_CLK_ENABLE();
553
+
554
+}
555
+
556
+/**
557
+  * @brief GPIO Initialization Function
558
+  * @param None
559
+  * @retval None
560
+  */
561
+static void MX_GPIO_Init(void)
562
+{
563
+  GPIO_InitTypeDef GPIO_InitStruct = {0};
564
+
565
+  /* GPIO Ports Clock Enable */
566
+  __HAL_RCC_GPIOC_CLK_ENABLE();
567
+  __HAL_RCC_GPIOA_CLK_ENABLE();
568
+  __HAL_RCC_GPIOB_CLK_ENABLE();
569
+  __HAL_RCC_GPIOD_CLK_ENABLE();
570
+
571
+  /*Configure GPIO pin Output Level */
572
+  HAL_GPIO_WritePin(GPIOC, BOOT_LED_Pin|PLL_LD_B_Pin|PLL_EN_B_Pin, GPIO_PIN_RESET);
573
+
574
+  /*Configure GPIO pin Output Level */
575
+  HAL_GPIO_WritePin(GPIOA, LED_UL_G_B_Pin|LED_SD_R_B_Pin|PWR_LED_B_Pin|LED_DL_G_B_Pin 
576
+                          |LED_DL_R_B_Pin|ATT_DATA_B_Pin|ATT_EN1_B_Pin|ATT_EN2_B_Pin, GPIO_PIN_RESET);
577
+
578
+  /*Configure GPIO pin Output Level */
579
+  HAL_GPIO_WritePin(GPIOB, RST_WIFI_B_Pin|PA_EN_B_Pin|EXT_PA_EN_B_Pin|PLL_CLK_B_Pin 
580
+                          |PLL_DATA_B_Pin, GPIO_PIN_RESET);
581
+
582
+  /*Configure GPIO pin Output Level */
583
+  HAL_GPIO_WritePin(ATT_CLK_B_GPIO_Port, ATT_CLK_B_Pin, GPIO_PIN_RESET);
584
+
585
+  /*Configure GPIO pins : BOOT_LED_Pin PLL_LD_B_Pin PLL_EN_B_Pin */
586
+  GPIO_InitStruct.Pin = BOOT_LED_Pin|PLL_LD_B_Pin|PLL_EN_B_Pin;
587
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
588
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
589
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
590
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
591
+
592
+  /*Configure GPIO pins : LED_UL_G_B_Pin LED_SD_R_B_Pin PWR_LED_B_Pin LED_DL_G_B_Pin 
593
+                           LED_DL_R_B_Pin ATT_DATA_B_Pin ATT_EN1_B_Pin ATT_EN2_B_Pin */
594
+  GPIO_InitStruct.Pin = LED_UL_G_B_Pin|LED_SD_R_B_Pin|PWR_LED_B_Pin|LED_DL_G_B_Pin 
595
+                          |LED_DL_R_B_Pin|ATT_DATA_B_Pin|ATT_EN1_B_Pin|ATT_EN2_B_Pin;
596
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
597
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
598
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
599
+  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
600
+
601
+  /*Configure GPIO pins : RST_WIFI_B_Pin PA_EN_B_Pin EXT_PA_EN_B_Pin PLL_CLK_B_Pin 
602
+                           PLL_DATA_B_Pin */
603
+  GPIO_InitStruct.Pin = RST_WIFI_B_Pin|PA_EN_B_Pin|EXT_PA_EN_B_Pin|PLL_CLK_B_Pin 
604
+                          |PLL_DATA_B_Pin;
605
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
606
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
607
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
608
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
609
+
610
+  /*Configure GPIO pin : ATT_CLK_B_Pin */
611
+  GPIO_InitStruct.Pin = ATT_CLK_B_Pin;
612
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
613
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
614
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
615
+  HAL_GPIO_Init(ATT_CLK_B_GPIO_Port, &GPIO_InitStruct);
616
+
617
+}
618
+
619
+/* USER CODE BEGIN 4 */
620
+
621
+/* USER CODE END 4 */
622
+
623
+/**
624
+  * @brief  This function is executed in case of error occurrence.
625
+  * @retval None
626
+  */
627
+void Error_Handler(void)
628
+{
629
+  /* USER CODE BEGIN Error_Handler_Debug */
630
+  /* User can add his own implementation to report the HAL error return state */
631
+
632
+  /* USER CODE END Error_Handler_Debug */
633
+}
634
+
635
+#ifdef  USE_FULL_ASSERT
636
+/**
637
+  * @brief  Reports the name of the source file and the source line number
638
+  *         where the assert_param error has occurred.
639
+  * @param  file: pointer to the source file name
640
+  * @param  line: assert_param error line source number
641
+  * @retval None
642
+  */
643
+void assert_failed(uint8_t *file, uint32_t line)
644
+{ 
645
+  /* USER CODE BEGIN 6 */
646
+  /* User can add his own implementation to report the file name and line number,
647
+     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
648
+  /* USER CODE END 6 */
649
+}
650
+#endif /* USE_FULL_ASSERT */
651
+
652
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 76 - 0
insight/STM32F103_WifiAttenCtrlTest.si4project/Backup/uart(1610).c

@@ -0,0 +1,76 @@
1
+/*
2
+ * uart.c
3
+ *
4
+ *  Created on: 2019. 5. 27.
5
+ *      Author: parkyj
6
+ */
7
+
8
+#include "uart.h"
9
+
10
+UARTQUEUE TerminalQueue;
11
+UARTQUEUE WifiQueue;
12
+void InitUartQueue(UART_HandleTypeDef *huart,pUARTQUEUE pQueue)
13
+{
14
+    UART_HandleTypeDef *dst = (huart->Instance == USART2 ? &hWifi:&hTerminal);
15
+    pQueue->data = pQueue->head = pQueue->tail = 0;
16
+
17
+    if (HAL_UART_Receive_DMA(dst, pQueue->Buffer, 1) != HAL_OK)
18
+    {
19
+//      _Error_Handler(__FILE__, __LINE__);
20
+    }
21
+    //HAL_UART_Receive_DMA(&hTerminal,  TerminalQueue.Buffer, 1);
22
+    //HAL_UART_Receive_IT(hTerminal, pQueue->Buffer + pQueue->head, 1);
23
+}
24
+void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
25
+{
26
+    pUARTQUEUE pQueue = (huart->Instance == USART2 ? &WifiQueue:&TerminalQueue);
27
+    UART_HandleTypeDef *dst = (huart->Instance == USART2 ? &hWifi:&hTerminal);
28
+
29
+    pQueue->head++;
30
+    if (pQueue->head >= QUEUE_BUFFER_LENGTH) pQueue->head = 0;
31
+    pQueue->data++;
32
+    if (pQueue->data >= QUEUE_BUFFER_LENGTH)
33
+        GetDataFromUartQueue(huart);
34
+    HAL_UART_Receive_DMA(dst, pQueue->Buffer + pQueue->head, 1);
35
+   // Set_UartRcv(true);
36
+}
37
+void PutDataToUartQueue(UART_HandleTypeDef *huart, uint8_t data)
38
+{
39
+    pUARTQUEUE pQueue = (huart->Instance == USART2 ? &WifiQueue:&TerminalQueue);
40
+    if (pQueue->data >= QUEUE_BUFFER_LENGTH)
41
+        GetDataFromUartQueue(huart);
42
+    pQueue->Buffer[pQueue->head++] = data;
43
+    if (pQueue->head == QUEUE_BUFFER_LENGTH) pQueue->head = 0;
44
+    pQueue->data++;
45
+   // HAL_UART_Receive_DMA(&hTerminal,  pQueue->Buffer + pQueue->head, 10);
46
+}
47
+void GetDataFromUartQueue(UART_HandleTypeDef *huart)
48
+{
49
+    UART_HandleTypeDef *dst = (huart->Instance == USART2 ? &hWifi:&hTerminal);
50
+    pUARTQUEUE pQueue = (huart->Instance == USART2 ? &WifiQueue:&TerminalQueue);
51
+//    printf("Function : %s : ",__func__);
52
+//    if (HAL_UART_Transmit_DMA(dst, pQueue->Buffer + pQueue->tail, 1) != HAL_OK)
53
+    printf("%c",*(pQueue->Buffer + pQueue->tail));
54
+    //if (HAL_UART_Transmit_DMA(&hTerminal, pQueue->Buffer + pQueue->tail, 1) != HAL_OK)
55
+    //{
56
+//       _Error_Handler(__FILE__, __LINE__);
57
+    //}
58
+//    printf("\r\n");
59
+    pQueue->tail++;
60
+    if (pQueue->tail >= QUEUE_BUFFER_LENGTH) pQueue->tail = 0;
61
+    pQueue->data--;
62
+    if(pQueue->data == 0){
63
+      
64
+      //DATA RECV COMPLETE
65
+	// printf("\r\n");
66
+    }
67
+    HAL_Delay(1);
68
+}
69
+void Uart1_Data_Send(uint8_t* data,uint8_t size){
70
+    HAL_UART_Transmit_DMA(&huart1, data,size); 
71
+}
72
+void Uart2_Data_Send(uint8_t* data,uint8_t size){
73
+    HAL_UART_Transmit_DMA(&huart2, data,size); 
74
+}
75
+
76
+

BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/STM32F103_WifiAttenCtrlTest.sip_sym


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Drivers_STM32F1xx_HAL_Driver_Src_stm32f1xx_hal_uart.c.sisc


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Inc_esp8266.h.sisc


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Inc_main.h.sisc


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Inc_stm32f1xx_it.h.sisc


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Inc_uart.h.sisc


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_esp8266.c.sisc


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_main.c.sisc


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_stm32f1xx_hal_msp.c.sisc


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_stm32f1xx_it.c.sisc


BIN
insight/STM32F103_WifiAttenCtrlTest.si4project/cache/parse/.._Src_uart.c.sisc