0

STM32CubeIde と FREERTOS を備えた STM32F412RET6 プロセッサに基づいて、STM32 ボードのファームウェアを開発しています。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 */ 
}

デバッグ結果:

ここに画像の説明を入力

4

0 に答える 0