STM32F401のADCの使い方
STM32でADCの使い方をまとめる。
これはSTM32でアナログジョイスティックを使うための前段階の勉強になる。
あとはmain関数にこれらのコードを記述する。
これはSTM32でアナログジョイスティックを使うための前段階の勉強になる。
CubeMXでピンの設定を行う
STM32F401-Nucleoでアナログ入力を行えるピンは、Arduinoと同じ。
なので「A0」ピンを使っていこうと思う。
調べるとA0は「PA0」になるようだ。
PA0を選択して「ADC1_INO」に設定する。
ピンの設定はこれで終了。
ADC一つだけならこれだけで使える。
main.cでプログラムを書いていく
まずは「USER CODE BIGEN Includes」に「<stdio.h>」と「<string.h>」をインクルードする。
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include <stdio.h>
#include <string.h>
/* USER CODE END Includes */
あとはmain関数にこれらのコードを記述する。
/* USER CODE BEGIN WHILE */
int adc = 1;
char str[16];
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, 100);
adc = HAL_ADC_GetValue(&hadc1);
sprintf(str, "ADC: %d\n\r", adc);
HAL_UART_Transmit(&huart2, (uint8_t *)str, strlen(str), 1000);
HAL_ADC_Stop(&hadc1);
HAL_Delay(300);
}
/* USER CODE END 3 */
コメント
コメントを投稿