21
21
22
22
/* Private includes ----------------------------------------------------------*/
23
23
/* USER CODE BEGIN Includes */
24
-
25
24
/* USER CODE END Includes */
26
25
27
26
/* Private typedef -----------------------------------------------------------*/
@@ -51,21 +50,32 @@ UART_HandleTypeDef huart2;
51
50
/* Private function prototypes -----------------------------------------------*/
52
51
void SystemClock_Config (void );
53
52
static void MX_GPIO_Init (void );
54
- static void MX_USART2_UART_Init (void );
55
53
static void MX_TIM2_Init (void );
54
+ static void MX_USART2_UART_Init (void );
56
55
/* USER CODE BEGIN PFP */
56
+ #ifdef __GNUC__
57
+ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
58
+ #else
59
+ #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
60
+ #endif
57
61
62
+ PUTCHAR_PROTOTYPE
63
+ {
64
+ HAL_UART_Transmit (& huart2 , (uint8_t * )& ch , 1 , HAL_MAX_DELAY );
65
+ return ch ;
66
+ }
58
67
/* USER CODE END PFP */
59
68
60
69
/* Private user code ---------------------------------------------------------*/
61
70
/* USER CODE BEGIN 0 */
62
- void sineF32 (const float32_t frequency , const float32_t amplitude , const float32_t offset , float32_t time , const float32_t alignment , uint32_t * pOut ) {
71
+ void sineF32 (const float32_t frequency , const float32_t amplitude , const float32_t offset , float32_t time , float32_t * pOut ) {
63
72
float32_t point ;
64
73
point = amplitude * arm_sin_f32 ((2 * M_PI * frequency )* time ) + offset ;
65
- * pOut = ( uint32_t ) roundf ( point * alignment ) ;
74
+ * pOut = point ;
66
75
}
67
76
68
- static uint32_t sineValues [40 ];
77
+ static float32_t sineValues [1024 ];
78
+ static uint32_t sec = 0 ;
69
79
/* USER CODE END 0 */
70
80
71
81
/**
@@ -96,17 +106,20 @@ int main(void)
96
106
97
107
/* Initialize all configured peripherals */
98
108
MX_GPIO_Init ();
99
- MX_USART2_UART_Init ();
100
109
MX_TIM2_Init ();
110
+ MX_USART2_UART_Init ();
101
111
/* USER CODE BEGIN 2 */
102
- float32_t x = 0.0f ;
112
+ HAL_TIM_Base_Start_IT (& htim2 );
113
+ /*float32_t x = 0.0f;
103
114
float32_t fx;
104
- for (uint8_t i = 0 ; i < 40 ; i ++ ) {
105
- uint32_t * y = & sineValues [i ];
106
- sineF32 (1102.3f , 0.333f , 0.5f , x , 4095 , y );
107
- x += 0.00002268f ;
108
- }
109
- fx = fft (sineValues , 40 , 1102.3f , 92972972.97297 );
115
+ HAL_UART_Transmit(&huart2, (uint8_t *)"hello", 5, HAL_MAX_DELAY);
116
+ for (uint16_t i = 0; i < 1024; i += 2) {
117
+ float32_t *y = &sineValues[i];
118
+ sineF32(1102.3f, 0.5f, 0.5f, x, y);
119
+ sineValues[i+1] = 0;
120
+ x += 0.00002268f;
121
+ }
122
+ fx = fft(sineValues, 1024, 1102, 92972972.97297);*/
110
123
/* USER CODE END 2 */
111
124
112
125
/* Infinite loop */
@@ -190,7 +203,7 @@ static void MX_TIM2_Init(void)
190
203
htim2 .Instance = TIM2 ;
191
204
htim2 .Init .Prescaler = 0 ;
192
205
htim2 .Init .CounterMode = TIM_COUNTERMODE_UP ;
193
- htim2 .Init .Period = 1814 ;
206
+ htim2 .Init .Period = 80000000 ;
194
207
htim2 .Init .ClockDivision = TIM_CLOCKDIVISION_DIV1 ;
195
208
htim2 .Init .AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE ;
196
209
if (HAL_TIM_Base_Init (& htim2 ) != HAL_OK )
@@ -269,9 +282,6 @@ static void MX_GPIO_Init(void)
269
282
/*Configure GPIO pin Output Level */
270
283
HAL_GPIO_WritePin (GPIOA , SMPS_V1_Pin |SMPS_SW_Pin , GPIO_PIN_RESET );
271
284
272
- /*Configure GPIO pin Output Level */
273
- HAL_GPIO_WritePin (LD4_GPIO_Port , LD4_Pin , GPIO_PIN_RESET );
274
-
275
285
/*Configure GPIO pin : B1_Pin */
276
286
GPIO_InitStruct .Pin = B1_Pin ;
277
287
GPIO_InitStruct .Mode = GPIO_MODE_IT_FALLING ;
@@ -291,18 +301,15 @@ static void MX_GPIO_Init(void)
291
301
GPIO_InitStruct .Pull = GPIO_PULLUP ;
292
302
HAL_GPIO_Init (SMPS_PG_GPIO_Port , & GPIO_InitStruct );
293
303
294
- /*Configure GPIO pin : LD4_Pin */
295
- GPIO_InitStruct .Pin = LD4_Pin ;
296
- GPIO_InitStruct .Mode = GPIO_MODE_OUTPUT_PP ;
297
- GPIO_InitStruct .Pull = GPIO_NOPULL ;
298
- GPIO_InitStruct .Speed = GPIO_SPEED_FREQ_LOW ;
299
- HAL_GPIO_Init (LD4_GPIO_Port , & GPIO_InitStruct );
300
-
301
304
/* USER CODE BEGIN MX_GPIO_Init_2 */
302
305
/* USER CODE END MX_GPIO_Init_2 */
303
306
}
304
307
305
308
/* USER CODE BEGIN 4 */
309
+ void HAL_TIM_PeriodElapsedCallback (TIM_HandleTypeDef * htim ) {
310
+ sec ++ ;
311
+ printf ("%d microseconds\r\n" , sec );
312
+ }
306
313
/* USER CODE END 4 */
307
314
308
315
/**
0 commit comments