Parcourir la source

Timer 수정 / 전체적이니 동작 확인

박영준 il y a 5 ans
Parent
commit
0907ca299e
9 fichiers modifiés avec 278 ajouts et 234 suppressions
  1. 210 205
      .cproject
  2. 2 2
      .mxproject
  3. 2 0
      Inc/stm32f1xx_it.h
  4. 8 14
      STM32F103ZET_JDASMBIC.ioc
  5. 1 1
      STM32F103ZE_FLASH.ld
  6. 13 11
      Src/main.c
  7. 11 0
      Src/stm32f1xx_hal_msp.c
  8. 30 0
      Src/stm32f1xx_it.c
  9. 1 1
      Src/system_stm32f1xx.c

Fichier diff supprimé car celui-ci est trop grand
+ 210 - 205
.cproject


+ 2 - 2
.mxproject

@@ -1,7 +1,7 @@
1 1
 [PreviousGenFiles]
2
-HeaderPath=D:/workspace/STM32F103ZET_JDASMBIC/Inc
2
+HeaderPath=G:/Bluecell/STM32F103ZET_JDASMBIC/Inc
3 3
 HeaderFiles=stm32f1xx_it.h;stm32f1xx_hal_conf.h;main.h;
4
-SourcePath=D:/workspace/STM32F103ZET_JDASMBIC/Src
4
+SourcePath=G:/Bluecell/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]

+ 2 - 0
Inc/stm32f1xx_it.h

@@ -61,6 +61,8 @@ void DMA1_Channel4_IRQHandler(void);
61 61
 void DMA1_Channel5_IRQHandler(void);
62 62
 void TIM2_IRQHandler(void);
63 63
 void USART1_IRQHandler(void);
64
+void USART2_IRQHandler(void);
65
+void TIM6_IRQHandler(void);
64 66
 void DMA2_Channel4_5_IRQHandler(void);
65 67
 /* USER CODE BEGIN EFP */
66 68
 

+ 8 - 14
STM32F103ZET_JDASMBIC.ioc

@@ -150,8 +150,8 @@ Mcu.PinsNb=55
150 150
 Mcu.ThirdPartyNb=0
151 151
 Mcu.UserConstants=
152 152
 Mcu.UserName=STM32F103ZETx
153
-MxCube.Version=5.5.0
154
-MxDb.Version=DB.5.0.50
153
+MxCube.Version=5.6.0
154
+MxDb.Version=DB.5.0.60
155 155
 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
156 156
 NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:false\:true\:false\:true
157 157
 NVIC.DMA1_Channel4_IRQn=true\:0\:0\:false\:false\:true\:false\:true
@@ -167,9 +167,11 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
167 167
 NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
168 168
 NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
169 169
 NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:false\:true
170
+NVIC.TIM6_IRQn=true\:0\:0\:false\:false\:true\:true\:true
170 171
 NVIC.TimeBase=TIM2_IRQn
171 172
 NVIC.TimeBaseIP=TIM2
172 173
 NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
174
+NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
173 175
 NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
174 176
 PA10.GPIOParameters=GPIO_Label
175 177
 PA10.GPIO_Label=MBIC_DOWN
@@ -239,14 +241,6 @@ PC6.GPIOParameters=GPIO_Label
239 241
 PC6.GPIO_Label=PATH_EN_UL1
240 242
 PC6.Locked=true
241 243
 PC6.Signal=GPIO_Output
242
-PCC.Checker=false
243
-PCC.Line=STM32F103
244
-PCC.MCU=STM32F103Z(C-D-E)Tx
245
-PCC.PartNumber=STM32F103ZETx
246
-PCC.Seq0=0
247
-PCC.Series=STM32F1
248
-PCC.Temperature=25
249
-PCC.Vdd=3.3
250 244
 PD10.GPIOParameters=GPIO_Label
251 245
 PD10.GPIO_Label=PATH_EN_DL2
252 246
 PD10.Locked=true
@@ -415,7 +409,7 @@ ProjectManager.StackSize=0x400
415 409
 ProjectManager.TargetToolchain=TrueSTUDIO
416 410
 ProjectManager.ToolChainLocation=
417 411
 ProjectManager.UnderRoot=true
418
-ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_I2C2_Init-I2C2-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_ADC1_Init-ADC1-false-HAL-true,7-MX_ADC3_Init-ADC3-false-HAL-true,8-MX_TIM6_Init-TIM6-false-HAL-true,9-MX_USART2_UART_Init-USART2-false-HAL-true
412
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_I2C2_Init-I2C2-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true,6-MX_ADC1_Init-ADC1-false-HAL-true,7-MX_ADC3_Init-ADC3-false-HAL-true,8-MX_USART2_UART_Init-USART2-false-HAL-true
419 413
 RCC.ADCFreqValue=14000000
420 414
 RCC.ADCPresc=RCC_ADCPCLK2_DIV4
421 415
 RCC.AHBFreq_Value=56000000
@@ -448,9 +442,9 @@ SH.ADCx_IN5.ConfNb=1
448 442
 SH.ADCx_IN6.0=ADC1_IN6,IN6
449 443
 SH.ADCx_IN6.ConfNb=1
450 444
 TIM6.IPParameters=Prescaler,Period
451
-TIM6.Period=1
452
-TIM6.Prescaler=56000-1
453
-USART1.BaudRate=921600
445
+TIM6.Period=10
446
+TIM6.Prescaler=5600 - 1
447
+USART1.BaudRate=115200
454 448
 USART1.IPParameters=VirtualMode,BaudRate
455 449
 USART1.VirtualMode=VM_ASYNC
456 450
 USART2.IPParameters=VirtualMode

+ 1 - 1
STM32F103ZE_FLASH.ld

@@ -62,7 +62,7 @@ _Min_Stack_Size = 0x400; /* required amount of stack */
62 62
 MEMORY
63 63
 {
64 64
 RAM (xrw)      : ORIGIN = 0x20000000, LENGTH = 64K
65
-FLASH (rx)      : ORIGIN = 0x8000000, LENGTH = 512K
65
+FLASH (rx)      : ORIGIN = 0x8004000, LENGTH = 512K - 16K
66 66
 }
67 67
 
68 68
 /* Define output sections */

+ 13 - 11
Src/main.c

@@ -23,6 +23,7 @@
23 23
 
24 24
 /* Private includes ----------------------------------------------------------*/
25 25
 /* USER CODE BEGIN Includes */
26
+#include <stdio.h>
26 27
 #include "PE43711.h"
27 28
 /* USER CODE END Includes */
28 29
 
@@ -71,8 +72,8 @@ static void MX_I2C2_Init(void);
71 72
 static void MX_USART1_UART_Init(void);
72 73
 static void MX_ADC1_Init(void);
73 74
 static void MX_ADC3_Init(void);
74
-static void MX_TIM6_Init(void);
75 75
 static void MX_USART2_UART_Init(void);
76
+static void MX_TIM6_Init(void);
76 77
 /* USER CODE BEGIN PFP */
77 78
 
78 79
 /* USER CODE END PFP */
@@ -95,7 +96,6 @@ int main(void)
95 96
   /* USER CODE BEGIN 1 */
96 97
 
97 98
   /* USER CODE END 1 */
98
-  
99 99
 
100 100
   /* MCU Configuration--------------------------------------------------------*/
101 101
 
@@ -120,22 +120,24 @@ int main(void)
120 120
   MX_USART1_UART_Init();
121 121
   MX_ADC1_Init();
122 122
   MX_ADC3_Init();
123
-  MX_TIM6_Init();
124 123
   MX_USART2_UART_Init();
124
+  MX_TIM6_Init();
125 125
   /* USER CODE BEGIN 2 */
126
-  while(!(HAL_ADCEx_Calibration_Start(&hadc1)==HAL_OK));
126
+  setbuf(stdout, NULL);
127
+  /*while(!(HAL_ADCEx_Calibration_Start(&hadc1)==HAL_OK));
127 128
   while(!(HAL_ADCEx_Calibration_Start(&hadc3)==HAL_OK));
128 129
   PE43711_PinInit();
129 130
   HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, 3);
130
-  HAL_ADC_Start_DMA(&hadc3, (uint32_t*)ADCvalue, 5);
131
+  HAL_ADC_Start_DMA(&hadc3, (uint32_t*)ADCvalue, 5);*/
131 132
   /* USER CODE END 2 */
132
- 
133
- 
134 133
 
135 134
   /* Infinite loop */
136 135
   /* USER CODE BEGIN WHILE */
137 136
   while (1)
138 137
   {
138
+	 printf("data\r\n");
139
+	  HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14);
140
+	  HAL_Delay(1000);
139 141
     /* USER CODE END WHILE */
140 142
 
141 143
     /* USER CODE BEGIN 3 */
@@ -370,9 +372,9 @@ static void MX_TIM6_Init(void)
370 372
 
371 373
   /* USER CODE END TIM6_Init 1 */
372 374
   htim6.Instance = TIM6;
373
-  htim6.Init.Prescaler = 56000-1;
375
+  htim6.Init.Prescaler = 5600 - 1;
374 376
   htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
375
-  htim6.Init.Period = 1;
377
+  htim6.Init.Period = 10;
376 378
   htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
377 379
   if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
378 380
   {
@@ -406,7 +408,7 @@ static void MX_USART1_UART_Init(void)
406 408
 
407 409
   /* USER CODE END USART1_Init 1 */
408 410
   huart1.Instance = USART1;
409
-  huart1.Init.BaudRate = 921600;
411
+  huart1.Init.BaudRate = 115200;
410 412
   huart1.Init.WordLength = UART_WORDLENGTH_8B;
411 413
   huart1.Init.StopBits = UART_STOPBITS_1;
412 414
   huart1.Init.Parity = UART_PARITY_NONE;
@@ -574,7 +576,7 @@ static void MX_GPIO_Init(void)
574 576
 
575 577
 /* USER CODE END 4 */
576 578
 
577
-/**
579
+ /**
578 580
   * @brief  Period elapsed callback in non blocking mode
579 581
   * @note   This function is called  when TIM2 interrupt took place, inside
580 582
   * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment

+ 11 - 0
Src/stm32f1xx_hal_msp.c

@@ -315,6 +315,9 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
315 315
   /* USER CODE END TIM6_MspInit 0 */
316 316
     /* Peripheral clock enable */
317 317
     __HAL_RCC_TIM6_CLK_ENABLE();
318
+    /* TIM6 interrupt Init */
319
+    HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
320
+    HAL_NVIC_EnableIRQ(TIM6_IRQn);
318 321
   /* USER CODE BEGIN TIM6_MspInit 1 */
319 322
 
320 323
   /* USER CODE END TIM6_MspInit 1 */
@@ -337,6 +340,9 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
337 340
   /* USER CODE END TIM6_MspDeInit 0 */
338 341
     /* Peripheral clock disable */
339 342
     __HAL_RCC_TIM6_CLK_DISABLE();
343
+
344
+    /* TIM6 interrupt DeInit */
345
+    HAL_NVIC_DisableIRQ(TIM6_IRQn);
340 346
   /* USER CODE BEGIN TIM6_MspDeInit 1 */
341 347
 
342 348
   /* USER CODE END TIM6_MspDeInit 1 */
@@ -439,6 +445,9 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
439 445
     GPIO_InitStruct.Pull = GPIO_NOPULL;
440 446
     HAL_GPIO_Init(RFU_RX_GPIO_Port, &GPIO_InitStruct);
441 447
 
448
+    /* USART2 interrupt Init */
449
+    HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
450
+    HAL_NVIC_EnableIRQ(USART2_IRQn);
442 451
   /* USER CODE BEGIN USART2_MspInit 1 */
443 452
 
444 453
   /* USER CODE END USART2_MspInit 1 */
@@ -492,6 +501,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
492 501
     */
493 502
     HAL_GPIO_DeInit(GPIOA, RFU_TX_Pin|RFU_RX_Pin);
494 503
 
504
+    /* USART2 interrupt DeInit */
505
+    HAL_NVIC_DisableIRQ(USART2_IRQn);
495 506
   /* USER CODE BEGIN USART2_MspDeInit 1 */
496 507
 
497 508
   /* USER CODE END USART2_MspDeInit 1 */

+ 30 - 0
Src/stm32f1xx_it.c

@@ -58,9 +58,11 @@
58 58
 /* External variables --------------------------------------------------------*/
59 59
 extern DMA_HandleTypeDef hdma_adc1;
60 60
 extern DMA_HandleTypeDef hdma_adc3;
61
+extern TIM_HandleTypeDef htim6;
61 62
 extern DMA_HandleTypeDef hdma_usart1_rx;
62 63
 extern DMA_HandleTypeDef hdma_usart1_tx;
63 64
 extern UART_HandleTypeDef huart1;
65
+extern UART_HandleTypeDef huart2;
64 66
 extern TIM_HandleTypeDef htim2;
65 67
 
66 68
 /* USER CODE BEGIN EV */
@@ -273,6 +275,34 @@ void USART1_IRQHandler(void)
273 275
   /* USER CODE END USART1_IRQn 1 */
274 276
 }
275 277
 
278
+/**
279
+  * @brief This function handles USART2 global interrupt.
280
+  */
281
+void USART2_IRQHandler(void)
282
+{
283
+  /* USER CODE BEGIN USART2_IRQn 0 */
284
+
285
+  /* USER CODE END USART2_IRQn 0 */
286
+  HAL_UART_IRQHandler(&huart2);
287
+  /* USER CODE BEGIN USART2_IRQn 1 */
288
+
289
+  /* USER CODE END USART2_IRQn 1 */
290
+}
291
+
292
+/**
293
+  * @brief This function handles TIM6 global interrupt.
294
+  */
295
+void TIM6_IRQHandler(void)
296
+{
297
+  /* USER CODE BEGIN TIM6_IRQn 0 */
298
+
299
+  /* USER CODE END TIM6_IRQn 0 */
300
+  HAL_TIM_IRQHandler(&htim6);
301
+  /* USER CODE BEGIN TIM6_IRQn 1 */
302
+
303
+  /* USER CODE END TIM6_IRQn 1 */
304
+}
305
+
276 306
 /**
277 307
   * @brief This function handles DMA2 channel4 and channel5 global interrupts.
278 308
   */

+ 1 - 1
Src/system_stm32f1xx.c

@@ -92,7 +92,7 @@
92 92
 /*!< Uncomment the following line if you need to relocate your vector Table in
93 93
      Internal SRAM. */ 
94 94
 /* #define VECT_TAB_SRAM */
95
-#define VECT_TAB_OFFSET  0x00000000U /*!< Vector Table base offset field. 
95
+#define VECT_TAB_OFFSET  0x4000 /* Original Value : 0x00000000U*/ /*!< Vector Table base offset field.
96 96
                                   This value must be a multiple of 0x200. */
97 97
 
98 98