我正在为我的 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 */
}
调试结果: