@@ -62,14 +62,16 @@ osThreadId_t defaultTaskHandle;
6262const osThreadAttr_t defaultTask_attributes = {
6363 .name = "defaultTask" ,
6464 .priority = (osPriority_t )osPriorityBelowNormal ,
65- .stack_size = 1500 };
65+ .stack_size = 1500 * 4
66+ };
6667/* USER CODE BEGIN PV */
6768
6869/* USER CODE END PV */
6970
7071/* Private function prototypes -----------------------------------------------*/
7172void SystemClock_Config (void );
7273static void MX_GPIO_Init (void );
74+ static void MX_DMA_Init (void );
7375static void MX_USART2_UART_Init (void );
7476void StartDefaultTask (void * argument );
7577
@@ -128,19 +130,18 @@ int main(void) {
128130
129131 /* Initialize all configured peripherals */
130132 MX_GPIO_Init ();
133+ MX_DMA_Init ();
131134 MX_USART2_UART_Init ();
132135 /* USER CODE BEGIN 2 */
133136#ifdef MICRO_XRCEDDS_UDP
134137 printf_uart = & huart2 ;
135138#elif defined(MICRO_XRCEDDS_CUSTOM_SERIAL )
136139 if (strcmp ("2" , RMW_UXRCE_DEFAULT_SERIAL_DEVICE )) {
137140 printf_uart = & huart2 ;
138- HAL_GPIO_WritePin (LD4_GPIO_Port , LD4_Pin , GPIO_PIN_SET );
139141 }
140142#endif
141143 /* USER CODE END 2 */
142144
143- //HAL_GPIO_WritePin(LD4_GPIO_Port, LD4_Pin, GPIO_PIN_SET);
144145
145146
146147 /* Init scheduler */
@@ -201,15 +202,16 @@ void SystemClock_Config(void) {
201202 /** Initializes the CPU, AHB and APB busses clocks
202203 */
203204 RCC_OscInitStruct .OscillatorType = RCC_OSCILLATORTYPE_HSI ;
204- RCC_OscInitStruct .HSEState = RCC_HSI_ON ;
205+ RCC_OscInitStruct .HSIState = RCC_HSI_ON ;
206+ RCC_OscInitStruct .HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT ;
205207 RCC_OscInitStruct .PLL .PLLState = RCC_PLL_ON ;
206208 RCC_OscInitStruct .PLL .PLLSource = RCC_PLLSOURCE_HSI ;
207209 RCC_OscInitStruct .PLL .PLLM = 8 ;
208210 RCC_OscInitStruct .PLL .PLLN = 50 ;
209211 RCC_OscInitStruct .PLL .PLLP = RCC_PLLP_DIV4 ;
210212 RCC_OscInitStruct .PLL .PLLQ = 7 ;
211- // RCC_OscInitStruct.PLL.PLLR = 2;
212- if ( HAL_RCC_OscConfig ( & RCC_OscInitStruct ) != HAL_OK ) {
213+ if ( HAL_RCC_OscConfig ( & RCC_OscInitStruct ) != HAL_OK )
214+ {
213215 Error_Handler ();
214216 }
215217 /** Initializes the CPU, AHB and APB busses clocks
@@ -221,7 +223,7 @@ void SystemClock_Config(void) {
221223 RCC_ClkInitStruct .APB1CLKDivider = RCC_HCLK_DIV4 ;
222224 RCC_ClkInitStruct .APB2CLKDivider = RCC_HCLK_DIV2 ;
223225
224- if (HAL_RCC_ClockConfig (& RCC_ClkInitStruct , FLASH_LATENCY_5 ) != HAL_OK ) {
226+ if (HAL_RCC_ClockConfig (& RCC_ClkInitStruct , FLASH_LATENCY_0 ) != HAL_OK ) {
225227 Error_Handler ();
226228 }
227229 /*
@@ -254,16 +256,33 @@ static void MX_USART2_UART_Init(void) {
254256 huart2 .Init .Mode = UART_MODE_TX_RX ;
255257 huart2 .Init .HwFlowCtl = UART_HWCONTROL_NONE ;
256258 huart2 .Init .OverSampling = UART_OVERSAMPLING_16 ;
257- if (HAL_UART_Init (& huart2 ) != HAL_OK ) {
259+ if (HAL_UART_Init (& huart2 ) != HAL_OK )
260+ {
258261 Error_Handler ();
259262 }
260263 /* USER CODE BEGIN USART2_Init 2 */
261264
262265 /* USER CODE END USART2_Init 2 */
263266}
264267
268+ /**
269+ * Enable DMA controller clock
270+ */
271+ static void MX_DMA_Init (void )
272+ {
273+
274+ /* DMA controller clock enable */
275+ __HAL_RCC_DMA1_CLK_ENABLE ();
265276
277+ /* DMA interrupt init */
278+ /* DMA1_Stream5_IRQn interrupt configuration */
279+ HAL_NVIC_SetPriority (DMA1_Stream5_IRQn , 0 , 0 );
280+ HAL_NVIC_EnableIRQ (DMA1_Stream5_IRQn );
281+ /* DMA1_Stream6_IRQn interrupt configuration */
282+ HAL_NVIC_SetPriority (DMA1_Stream6_IRQn , 0 , 0 );
283+ HAL_NVIC_EnableIRQ (DMA1_Stream6_IRQn );
266284
285+ }
267286
268287
269288/**
@@ -275,11 +294,8 @@ static void MX_GPIO_Init(void) {
275294 GPIO_InitTypeDef GPIO_InitStruct = {0 };
276295
277296 /* GPIO Ports Clock Enable */
278- __HAL_RCC_GPIOC_CLK_ENABLE ();
279- __HAL_RCC_GPIOH_CLK_ENABLE ();
280297 __HAL_RCC_GPIOB_CLK_ENABLE ();
281298 __HAL_RCC_GPIOD_CLK_ENABLE ();
282- __HAL_RCC_GPIOG_CLK_ENABLE ();
283299 __HAL_RCC_GPIOA_CLK_ENABLE ();
284300
285301 /*Configure GPIO pin Output Level */
@@ -320,9 +336,11 @@ static void MX_GPIO_Init(void) {
320336void StartDefaultTask (void * argument ) {
321337 /* USER CODE BEGIN 5 */
322338 /* Infinite loop */
339+ HAL_GPIO_WritePin (LD4_GPIO_Port , LD4_Pin , GPIO_PIN_SET );
323340 HAL_GPIO_WritePin (GPIOA , GPIO_PIN_5 , GPIO_PIN_SET );
324341 bool availableNetwork = false;
325342
343+
326344#ifdef MICRO_XRCEDDS_CUSTOM_SERIAL
327345 availableNetwork = true;
328346#elif defined(MICRO_XRCEDDS_UDP )
@@ -384,13 +402,13 @@ void StartDefaultTask(void *argument) {
384402
385403 while (1 ) {
386404 if (eTaskGetState (xHandle ) != eSuspended && availableNetwork ) {
387- HAL_GPIO_WritePin (LD5_GPIO_Port , LD5_Pin , GPIO_PIN_RESET );
405+ HAL_GPIO_WritePin (LD4_GPIO_Port , LD4_Pin , GPIO_PIN_RESET );
388406 osDelay (100 );
389- HAL_GPIO_WritePin (LD5_GPIO_Port , LD5_Pin , GPIO_PIN_SET );
407+ HAL_GPIO_WritePin (LD4_GPIO_Port , LD4_Pin , GPIO_PIN_SET );
390408 osDelay (100 );
391- HAL_GPIO_WritePin (LD5_GPIO_Port , LD5_Pin , GPIO_PIN_RESET );
409+ HAL_GPIO_WritePin (LD4_GPIO_Port , LD4_Pin , GPIO_PIN_RESET );
392410 osDelay (150 );
393- HAL_GPIO_WritePin (LD5_GPIO_Port , LD5_Pin , GPIO_PIN_SET );
411+ HAL_GPIO_WritePin (LD4_GPIO_Port , LD4_Pin , GPIO_PIN_SET );
394412 osDelay (500 );
395413 } else {
396414 HAL_GPIO_WritePin (LD5_GPIO_Port , LD5_Pin , GPIO_PIN_RESET );
0 commit comments