アナログ入力

可変抵抗の値を読み取ったり、センサの値を読み取ったりする

[プロジェクト名].ioc-Pinout & Configuration-Pinout viewから使いたいピンを選択する。今回はPA_4ADC1_IN4に設定した。ピンを選ぶときには使用するマイコンボードのMbedのページ(ここでは'NUCLEO-F446RE')のMorpho headersを見ながら選ぶといいかもしれない。
保存しコードを作成。main.cに処理を追記。

/* USER CODE BEGIN 2 */
float resi1;
/* USER CODE END 2 */

/* USER CODE BEGIN WHILE */
while (1)
{
    HAL_ADC_Start(&hadc1);
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
    HAL_ADC_PollForConversion(&hadc1, 100);
    resi1 = HAL_ADC_GetValue(&hadc1);
    printf("%f\r\n",resi1);
    HAL_Delay(250);
}
/* USER CODE END 3 */

float型をprintfするために、設定を変更する。[プロジェクト名]を右クリック、プロパティ-C/C++ ビルド-設定-ツール設定-MCU/MPU SettingsUse float with printf from newlib-nanoの項目にチェックを入れ、適用して閉じる。
今回は可変抵抗を用いてアナログ入力値の変化を出力した。printfを使えるようにするためには、他の設定やコードが必要。'これ'を参考にした。

参考