目的
抵抗分岐型の十字キーのプログラムを作る
各電圧の仕様
- ユーザマニュアル (1)
- ナンバーを振る
N_SELECT 5
N_LEFT 4
N_DOWN 3
N_UP 2
N_RIGHT 1
N_NO_KEY 0
- キーの電圧のマクロを作る
例 3.3V -> 33と小数点一の位を四捨五入する。
P_SELECT ((((int)(0.0*100))+5)/10)
P_LEFT ((((int)(0.67*100))+5)/10)
P_DOWN ((((int)(1.32*100))+5)/10)
P_UP ((((int)(2.01*100))+5)/10)
P_RIGHT ((((int)(2.65*100))+5)/10)
P_NO_KEY ((((int)(3.3*100))+5)/10)
#include <iostream>
using namespace std;
#define P_SELECT ((((int)(0.0*100))+5)/10)
#define P_LEFT ((((int)(0.67*100))+5)/10)
#define P_DOWN ((((int)(1.32*100))+5)/10)
#define P_UP ((((int)(2.01*100))+5)/10)
#define P_RIGHT ((((int)(2.65*100))+5)/10)
#define P_NO_KEY ((((int)(3.3*100))+5)/10)
int main(void){
// Your code here!
printf("P_SELECT %d\n",P_SELECT);
printf("P_LEFT %d\n",P_LEFT);
printf("P_DOWN %d\n",P_DOWN);
printf("P_UP %d\n",P_UP);
printf("P_RIGHT %d\n",P_RIGHT);
printf("P_NO_KEY %d\n",P_NO_KEY);
}
P_SELECT 0
P_LEFT 7
P_DOWN 13
P_UP 20
P_RIGHT 27
P_NO_KEY 33
- 中間の電圧を求める
DOWNとUPの間の電圧 十倍した値
例 (20 + 13) / 2 = 16.5
SELECT_t_LEFT ((P_SELECT+P_LEFT)/2)
LEFT_t_DOWN ((P_LEFT+P_DOWN)/2)
DOWN_t_UP ((P_DOWN+P_UP)/2)
UP_t_RIGHT ((P_UP+P_RIGHT)/2)
RIGHT_t_NO_KEY ((P_RIGHT+P_NO_KEY)/2)
#include <iostream>
using namespace std;
#define P_SELECT ((((int)(0.0*100))+5)/10)
#define P_LEFT ((((int)(0.67*100))+5)/10)
#define P_DOWN ((((int)(1.32*100))+5)/10)
#define P_UP ((((int)(2.01*100))+5)/10)
#define P_RIGHT ((((int)(2.65*100))+5)/10)
#define P_NO_KEY ((((int)(3.3*100))+5)/10)
#define SELECT_t_LEFT ((P_SELECT+P_LEFT)/2)
#define LEFT_t_DOWN ((P_LEFT+P_DOWN)/2)
#define DOWN_t_UP ((P_DOWN+P_UP)/2)
#define UP_t_RIGHT ((P_UP+P_RIGHT)/2)
#define RIGHT_t_NO_KEY ((P_RIGHT+P_NO_KEY)/2)
int main(void){
// Your code here!
printf("P_SELECT %d\n",P_SELECT);
printf("P_LEFT %d\n",P_LEFT);
printf("P_DOWN %d\n",P_DOWN);
printf("P_UP %d\n",P_UP);
printf("P_RIGHT %d\n",P_RIGHT);
printf("P_NO_KEY %d\n",P_NO_KEY);
printf("\n");
printf("SELECT_t_LEFT %d\n",SELECT_t_LEFT);
printf("LEFT_t_DOWN %d\n",LEFT_t_DOWN);
printf("DOWN_t_UP %d\n",DOWN_t_UP);
printf("UP_t_RIGHT %d\n",UP_t_RIGHT);
printf("RIGHT_t_NO_KEY %d\n",RIGHT_t_NO_KEY);
}
P_SELECT 0
P_LEFT 7
P_DOWN 13
P_UP 20
P_RIGHT 27
P_NO_KEY 33
SELECT_t_LEFT 3
LEFT_t_DOWN 10
DOWN_t_UP 16
UP_t_RIGHT 23
RIGHT_t_NO_KEY 30