Я разрабатываю прошивку для моей платы STM32 на основе процессора STM32F412RET6 с STM32CubeIde и FREERTOS. Когда я вызываю функцию va_arg
из библиотеки stdarg.h
, впервые получаю странное число. Почему?
Код:
void readFloat(int n, ...){
int val;
va_list vl;
va_start(vl,n);
for (int i=0;i<n;i++)
{
val=va_arg(vl,int);
}
va_end(vl);
}
/**
* @brief Function implementing the defaultTask thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_StartDefaultTask */
void StartDefaultTask(void *argument)
{
readFloat(3, 1, 2, 3);
for(;;)
{
osDelay(1);
}
/* USER CODE END 5 */
}
Результат отладки:
![enter image description here](https://i.stack.imgur.com/jbxmp.png)