Selaa lähdekoodia

Code Generate Check

PYJ 5 vuotta sitten
vanhempi
commit
2316b1df55
8 muutettua tiedostoa jossa 137 lisäystä ja 41 poistoa
  1. 2 2
      .mxproject
  2. 0 1
      Bluecell_Src/Bluecell_operate.c
  3. 3 4
      Bluecell_Src/uart.c
  4. 4 0
      Inc/stm32f1xx_it.h
  5. 12 8
      STM32F103ZET_JDASMBIC.ioc
  6. 48 17
      Src/main.c
  7. 9 9
      Src/stm32f1xx_hal_msp.c
  8. 59 0
      Src/stm32f1xx_it.c

+ 2 - 2
.mxproject

@@ -1,7 +1,7 @@
1 1
 [PreviousGenFiles]
2
-HeaderPath=G:/Bluecell/STM32F103ZET_JDASMBIC/Inc
2
+HeaderPath=D:/workspace/STM32F103ZET_JDASMBIC/Inc
3 3
 HeaderFiles=stm32f1xx_it.h;stm32f1xx_hal_conf.h;main.h;
4
-SourcePath=G:/Bluecell/STM32F103ZET_JDASMBIC/Src
4
+SourcePath=D:/workspace/STM32F103ZET_JDASMBIC/Src
5 5
 SourceFiles=stm32f1xx_it.c;stm32f1xx_hal_msp.c;stm32f1xx_hal_timebase_tim.c;main.c;
6 6
 
7 7
 [PreviousLibFiles]

+ 0 - 1
Bluecell_Src/Bluecell_operate.c

@@ -83,7 +83,6 @@ bool Bluecell_Operate(uint8_t* data){
83 83
         break;
84 84
   }
85 85
   return true;
86
-
87 86
 }
88 87
 bool MBIC_Operate(uint8_t* data){
89 88
 	uint16_t datatype = 0;

+ 3 - 4
Bluecell_Src/uart.c

@@ -5,8 +5,9 @@
5 5
  *      Author: parkyj
6 6
  */
7 7
 #include <stdio.h>
8
+#include "main.h"
8 9
 #include "uart.h"
9
-//#include "zig_operate.h"
10
+
10 11
 #include "string.h"
11 12
 
12 13
 UARTQUEUE TerminalQueue;
@@ -30,7 +31,7 @@ void InitUartQueue(pUARTQUEUE pQueue)
30 31
 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
31 32
 {
32 33
     pUARTQUEUE pQueue;
33
-//    printf("Function : %s : \r\n",__func__);
34
+    printf("Function : %s : \r\n",__func__);
34 35
    // AdcTimerCnt = UartRxTimerCnt = 0;
35 36
     pQueue = &TerminalQueue;
36 37
     pQueue->head++;
@@ -87,11 +88,9 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
87 88
             }
88 89
 #endif // PYJ.2019.07.15_END -- 
89 90
         memset(uart_buf,0x00,cnt);
90
-        
91 91
 //        for(int i  = 0; i < cnt; i++)
92 92
 //            uart_buf[i] = 0;
93 93
         cnt = 0;
94
-        
95 94
         HAL_Delay(1);
96 95
     }
97 96
 

+ 4 - 0
Inc/stm32f1xx_it.h

@@ -59,9 +59,13 @@ void SysTick_Handler(void);
59 59
 void DMA1_Channel1_IRQHandler(void);
60 60
 void DMA1_Channel4_IRQHandler(void);
61 61
 void DMA1_Channel5_IRQHandler(void);
62
+void ADC1_2_IRQHandler(void);
62 63
 void TIM2_IRQHandler(void);
64
+void I2C2_EV_IRQHandler(void);
65
+void I2C2_ER_IRQHandler(void);
63 66
 void USART1_IRQHandler(void);
64 67
 void USART2_IRQHandler(void);
68
+void ADC3_IRQHandler(void);
65 69
 void TIM6_IRQHandler(void);
66 70
 void DMA2_Channel4_5_IRQHandler(void);
67 71
 /* USER CODE BEGIN EFP */

+ 12 - 8
STM32F103ZET_JDASMBIC.ioc

@@ -150,16 +150,20 @@ Mcu.PinsNb=55
150 150
 Mcu.ThirdPartyNb=0
151 151
 Mcu.UserConstants=
152 152
 Mcu.UserName=STM32F103ZETx
153
-MxCube.Version=5.6.0
153
+MxCube.Version=5.6.1
154 154
 MxDb.Version=DB.5.0.60
155
+NVIC.ADC1_2_IRQn=true\:0\:0\:false\:true\:true\:4\:true\:true
156
+NVIC.ADC3_IRQn=true\:0\:0\:false\:true\:true\:11\:true\:true
155 157
 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
156
-NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:false\:true
157
-NVIC.DMA1_Channel4_IRQn=true\:0\:0\:false\:false\:true\:false\:true
158
-NVIC.DMA1_Channel5_IRQn=true\:0\:0\:false\:false\:true\:false\:true
159
-NVIC.DMA2_Channel4_5_IRQn=true\:0\:0\:false\:false\:true\:false\:true
158
+NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:true\:true\:1\:false\:true
159
+NVIC.DMA1_Channel4_IRQn=true\:0\:0\:false\:true\:true\:2\:false\:true
160
+NVIC.DMA1_Channel5_IRQn=true\:0\:0\:false\:true\:true\:3\:false\:true
161
+NVIC.DMA2_Channel4_5_IRQn=true\:0\:0\:false\:true\:true\:9\:false\:true
160 162
 NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
161 163
 NVIC.ForceEnableDMAVector=true
162 164
 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
165
+NVIC.I2C2_ER_IRQn=true\:0\:0\:false\:true\:true\:6\:true\:true
166
+NVIC.I2C2_EV_IRQn=true\:0\:0\:false\:true\:true\:5\:true\:true
163 167
 NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
164 168
 NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
165 169
 NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -167,11 +171,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
167 171
 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
168 172
 NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
169 173
 NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:false\:true
170
-NVIC.TIM6_IRQn=true\:0\:0\:false\:false\:true\:true\:true
174
+NVIC.TIM6_IRQn=true\:0\:0\:false\:true\:true\:10\:true\:true
171 175
 NVIC.TimeBase=TIM2_IRQn
172 176
 NVIC.TimeBaseIP=TIM2
173
-NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
174
-NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
177
+NVIC.USART1_IRQn=true\:0\:0\:false\:true\:true\:7\:true\:true
178
+NVIC.USART2_IRQn=true\:0\:0\:false\:true\:true\:8\:true\:true
175 179
 NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
176 180
 PA10.GPIOParameters=GPIO_Label
177 181
 PA10.GPIO_Label=MBIC_DOWN

+ 48 - 17
Src/main.c

@@ -25,6 +25,7 @@
25 25
 /* USER CODE BEGIN Includes */
26 26
 #include <stdio.h>
27 27
 #include "PE43711.h"
28
+#include "uart.h"
28 29
 /* USER CODE END Includes */
29 30
 
30 31
 /* Private typedef -----------------------------------------------------------*/
@@ -74,6 +75,7 @@ static void MX_ADC1_Init(void);
74 75
 static void MX_ADC3_Init(void);
75 76
 static void MX_USART2_UART_Init(void);
76 77
 static void MX_TIM6_Init(void);
78
+static void MX_NVIC_Init(void);
77 79
 /* USER CODE BEGIN PFP */
78 80
 
79 81
 /* USER CODE END PFP */
@@ -132,20 +134,22 @@ int main(void)
132 134
   MX_ADC3_Init();
133 135
   MX_USART2_UART_Init();
134 136
   MX_TIM6_Init();
137
+
138
+  /* Initialize interrupts */
139
+  MX_NVIC_Init();
135 140
   /* USER CODE BEGIN 2 */
136 141
   setbuf(stdout, NULL);
137
-  /*while(!(HAL_ADCEx_Calibration_Start(&hadc1)==HAL_OK));
142
+  while(!(HAL_ADCEx_Calibration_Start(&hadc1)==HAL_OK));
138 143
   while(!(HAL_ADCEx_Calibration_Start(&hadc3)==HAL_OK));
139 144
   PE43711_PinInit();
140 145
   HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, 3);
141
-  HAL_ADC_Start_DMA(&hadc3, (uint32_t*)ADCvalue, 5);*/
146
+  HAL_ADC_Start_DMA(&hadc3, (uint32_t*)ADCvalue, 5);
142 147
   /* USER CODE END 2 */
143 148
 
144 149
   /* Infinite loop */
145 150
   /* USER CODE BEGIN WHILE */
146 151
   while (1)
147 152
   {
148
-
149 153
 //	  HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14);
150 154
 //	  HAL_Delay(1000);
151 155
     Boot_LED_Toggle();
@@ -200,6 +204,47 @@ void SystemClock_Config(void)
200 204
   }
201 205
 }
202 206
 
207
+/**
208
+  * @brief NVIC Configuration.
209
+  * @retval None
210
+  */
211
+static void MX_NVIC_Init(void)
212
+{
213
+  /* DMA1_Channel1_IRQn interrupt configuration */
214
+  HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
215
+  HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
216
+  /* DMA1_Channel4_IRQn interrupt configuration */
217
+  HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
218
+  HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
219
+  /* DMA1_Channel5_IRQn interrupt configuration */
220
+  HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
221
+  HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
222
+  /* ADC1_2_IRQn interrupt configuration */
223
+  HAL_NVIC_SetPriority(ADC1_2_IRQn, 0, 0);
224
+  HAL_NVIC_EnableIRQ(ADC1_2_IRQn);
225
+  /* I2C2_EV_IRQn interrupt configuration */
226
+  HAL_NVIC_SetPriority(I2C2_EV_IRQn, 0, 0);
227
+  HAL_NVIC_EnableIRQ(I2C2_EV_IRQn);
228
+  /* I2C2_ER_IRQn interrupt configuration */
229
+  HAL_NVIC_SetPriority(I2C2_ER_IRQn, 0, 0);
230
+  HAL_NVIC_EnableIRQ(I2C2_ER_IRQn);
231
+  /* USART1_IRQn interrupt configuration */
232
+  HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
233
+  HAL_NVIC_EnableIRQ(USART1_IRQn);
234
+  /* USART2_IRQn interrupt configuration */
235
+  HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
236
+  HAL_NVIC_EnableIRQ(USART2_IRQn);
237
+  /* DMA2_Channel4_5_IRQn interrupt configuration */
238
+  HAL_NVIC_SetPriority(DMA2_Channel4_5_IRQn, 0, 0);
239
+  HAL_NVIC_EnableIRQ(DMA2_Channel4_5_IRQn);
240
+  /* TIM6_IRQn interrupt configuration */
241
+  HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
242
+  HAL_NVIC_EnableIRQ(TIM6_IRQn);
243
+  /* ADC3_IRQn interrupt configuration */
244
+  HAL_NVIC_SetPriority(ADC3_IRQn, 0, 0);
245
+  HAL_NVIC_EnableIRQ(ADC3_IRQn);
246
+}
247
+
203 248
 /**
204 249
   * @brief ADC1 Initialization Function
205 250
   * @param None
@@ -480,20 +525,6 @@ static void MX_DMA_Init(void)
480 525
   __HAL_RCC_DMA1_CLK_ENABLE();
481 526
   __HAL_RCC_DMA2_CLK_ENABLE();
482 527
 
483
-  /* DMA interrupt init */
484
-  /* DMA1_Channel1_IRQn interrupt configuration */
485
-  HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
486
-  HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
487
-  /* DMA1_Channel4_IRQn interrupt configuration */
488
-  HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
489
-  HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
490
-  /* DMA1_Channel5_IRQn interrupt configuration */
491
-  HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
492
-  HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
493
-  /* DMA2_Channel4_5_IRQn interrupt configuration */
494
-  HAL_NVIC_SetPriority(DMA2_Channel4_5_IRQn, 0, 0);
495
-  HAL_NVIC_EnableIRQ(DMA2_Channel4_5_IRQn);
496
-
497 528
 }
498 529
 
499 530
 /**

+ 9 - 9
Src/stm32f1xx_hal_msp.c

@@ -206,6 +206,9 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
206 206
 
207 207
     /* ADC1 DMA DeInit */
208 208
     HAL_DMA_DeInit(hadc->DMA_Handle);
209
+
210
+    /* ADC1 interrupt DeInit */
211
+    HAL_NVIC_DisableIRQ(ADC1_2_IRQn);
209 212
   /* USER CODE BEGIN ADC1_MspDeInit 1 */
210 213
 
211 214
   /* USER CODE END ADC1_MspDeInit 1 */
@@ -230,6 +233,9 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
230 233
 
231 234
     /* ADC3 DMA DeInit */
232 235
     HAL_DMA_DeInit(hadc->DMA_Handle);
236
+
237
+    /* ADC3 interrupt DeInit */
238
+    HAL_NVIC_DisableIRQ(ADC3_IRQn);
233 239
   /* USER CODE BEGIN ADC3_MspDeInit 1 */
234 240
 
235 241
   /* USER CODE END ADC3_MspDeInit 1 */
@@ -293,6 +299,9 @@ void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
293 299
     */
294 300
     HAL_GPIO_DeInit(GPIOB, EEPROM_SCL_Pin|EEPROM_SDA_Pin);
295 301
 
302
+    /* I2C2 interrupt DeInit */
303
+    HAL_NVIC_DisableIRQ(I2C2_EV_IRQn);
304
+    HAL_NVIC_DisableIRQ(I2C2_ER_IRQn);
296 305
   /* USER CODE BEGIN I2C2_MspDeInit 1 */
297 306
 
298 307
   /* USER CODE END I2C2_MspDeInit 1 */
@@ -315,9 +324,6 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
315 324
   /* USER CODE END TIM6_MspInit 0 */
316 325
     /* Peripheral clock enable */
317 326
     __HAL_RCC_TIM6_CLK_ENABLE();
318
-    /* TIM6 interrupt Init */
319
-    HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
320
-    HAL_NVIC_EnableIRQ(TIM6_IRQn);
321 327
   /* USER CODE BEGIN TIM6_MspInit 1 */
322 328
 
323 329
   /* USER CODE END TIM6_MspInit 1 */
@@ -415,9 +421,6 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
415 421
 
416 422
     __HAL_LINKDMA(huart,hdmatx,hdma_usart1_tx);
417 423
 
418
-    /* USART1 interrupt Init */
419
-    HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
420
-    HAL_NVIC_EnableIRQ(USART1_IRQn);
421 424
   /* USER CODE BEGIN USART1_MspInit 1 */
422 425
 
423 426
   /* USER CODE END USART1_MspInit 1 */
@@ -445,9 +448,6 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
445 448
     GPIO_InitStruct.Pull = GPIO_NOPULL;
446 449
     HAL_GPIO_Init(RFU_RX_GPIO_Port, &GPIO_InitStruct);
447 450
 
448
-    /* USART2 interrupt Init */
449
-    HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
450
-    HAL_NVIC_EnableIRQ(USART2_IRQn);
451 451
   /* USER CODE BEGIN USART2_MspInit 1 */
452 452
 
453 453
   /* USER CODE END USART2_MspInit 1 */

+ 59 - 0
Src/stm32f1xx_it.c

@@ -58,6 +58,9 @@
58 58
 /* External variables --------------------------------------------------------*/
59 59
 extern DMA_HandleTypeDef hdma_adc1;
60 60
 extern DMA_HandleTypeDef hdma_adc3;
61
+extern ADC_HandleTypeDef hadc1;
62
+extern ADC_HandleTypeDef hadc3;
63
+extern I2C_HandleTypeDef hi2c2;
61 64
 extern TIM_HandleTypeDef htim6;
62 65
 extern DMA_HandleTypeDef hdma_usart1_rx;
63 66
 extern DMA_HandleTypeDef hdma_usart1_tx;
@@ -247,6 +250,20 @@ void DMA1_Channel5_IRQHandler(void)
247 250
   /* USER CODE END DMA1_Channel5_IRQn 1 */
248 251
 }
249 252
 
253
+/**
254
+  * @brief This function handles ADC1 and ADC2 global interrupts.
255
+  */
256
+void ADC1_2_IRQHandler(void)
257
+{
258
+  /* USER CODE BEGIN ADC1_2_IRQn 0 */
259
+
260
+  /* USER CODE END ADC1_2_IRQn 0 */
261
+  HAL_ADC_IRQHandler(&hadc1);
262
+  /* USER CODE BEGIN ADC1_2_IRQn 1 */
263
+
264
+  /* USER CODE END ADC1_2_IRQn 1 */
265
+}
266
+
250 267
 /**
251 268
   * @brief This function handles TIM2 global interrupt.
252 269
   */
@@ -261,6 +278,34 @@ void TIM2_IRQHandler(void)
261 278
   /* USER CODE END TIM2_IRQn 1 */
262 279
 }
263 280
 
281
+/**
282
+  * @brief This function handles I2C2 event interrupt.
283
+  */
284
+void I2C2_EV_IRQHandler(void)
285
+{
286
+  /* USER CODE BEGIN I2C2_EV_IRQn 0 */
287
+
288
+  /* USER CODE END I2C2_EV_IRQn 0 */
289
+  HAL_I2C_EV_IRQHandler(&hi2c2);
290
+  /* USER CODE BEGIN I2C2_EV_IRQn 1 */
291
+
292
+  /* USER CODE END I2C2_EV_IRQn 1 */
293
+}
294
+
295
+/**
296
+  * @brief This function handles I2C2 error interrupt.
297
+  */
298
+void I2C2_ER_IRQHandler(void)
299
+{
300
+  /* USER CODE BEGIN I2C2_ER_IRQn 0 */
301
+
302
+  /* USER CODE END I2C2_ER_IRQn 0 */
303
+  HAL_I2C_ER_IRQHandler(&hi2c2);
304
+  /* USER CODE BEGIN I2C2_ER_IRQn 1 */
305
+
306
+  /* USER CODE END I2C2_ER_IRQn 1 */
307
+}
308
+
264 309
 /**
265 310
   * @brief This function handles USART1 global interrupt.
266 311
   */
@@ -289,6 +334,20 @@ void USART2_IRQHandler(void)
289 334
   /* USER CODE END USART2_IRQn 1 */
290 335
 }
291 336
 
337
+/**
338
+  * @brief This function handles ADC3 global interrupt.
339
+  */
340
+void ADC3_IRQHandler(void)
341
+{
342
+  /* USER CODE BEGIN ADC3_IRQn 0 */
343
+
344
+  /* USER CODE END ADC3_IRQn 0 */
345
+  HAL_ADC_IRQHandler(&hadc3);
346
+  /* USER CODE BEGIN ADC3_IRQn 1 */
347
+
348
+  /* USER CODE END ADC3_IRQn 1 */
349
+}
350
+
292 351
 /**
293 352
   * @brief This function handles TIM6 global interrupt.
294 353
   */