scanfでint及びfloatを読み込むときのやり方 - MtLord/KRP_Central_micon GitHub Wiki
マイコンでは通信で文字しか送れないためscanfで数値を文字として受け取った後にsscanfでfloat型に変換して使う。scanfは入力があるまで待ちとなるためループの中で使う場合は注意。モータシステムは400ms命令がないと止まってしまうため、ループに入る前にscanfで読み取り、もう一度scanしたいときはリスタートすると良い。
float a = 0.0;//float型の変数を宣言 scanfで読み取った値を格納する
char str[8];//scanfの返り値が入る
``while (1) { /* USER CODE END WHILE */ scanf( "%s",str ); sscanf(str,"%f",&a);
/* USER CODE BEGIN 3 */
}``