Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@2:fdd8a3074d79, 2019-09-20 (annotated)
- Committer:
- YMP
- Date:
- Fri Sep 20 09:05:47 2019 +0000
- Revision:
- 2:fdd8a3074d79
- Parent:
- 1:bab46c2f0263
- Child:
- 3:809e6c637f91
seisaku2;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
uchikimi | 0:9d2545148cbf | 1 | //------------------------------------------------------------------- |
uchikimi | 0:9d2545148cbf | 2 | //QEIライブラリ使用 |
uchikimi | 0:9d2545148cbf | 3 | //------------------------------------------------------------------- |
uchikimi | 0:9d2545148cbf | 4 | |
uchikimi | 0:9d2545148cbf | 5 | //mbed用ライブラリ |
uchikimi | 0:9d2545148cbf | 6 | #include "mbed.h" |
uchikimi | 0:9d2545148cbf | 7 | //エンコーダ用ライブラリ |
uchikimi | 0:9d2545148cbf | 8 | #include "QEI.h" |
uchikimi | 0:9d2545148cbf | 9 | |
uchikimi | 0:9d2545148cbf | 10 | //変数宣言 |
uchikimi | 0:9d2545148cbf | 11 | //1回転でのパルス数 |
uchikimi | 0:9d2545148cbf | 12 | #define ROTATE_PER_REVOLUTIONS 360 |
uchikimi | 0:9d2545148cbf | 13 | |
uchikimi | 0:9d2545148cbf | 14 | //エンコーダのチャンネルAとBの初期状態を決める |
uchikimi | 0:9d2545148cbf | 15 | QEI wheel(P1_0, P1_1, NC, ROTATE_PER_REVOLUTIONS, QEI::X4_ENCODING); |
uchikimi | 0:9d2545148cbf | 16 | |
uchikimi | 0:9d2545148cbf | 17 | //メイン関数 |
uchikimi | 0:9d2545148cbf | 18 | int main() |
uchikimi | 0:9d2545148cbf | 19 | { |
uchikimi | 0:9d2545148cbf | 20 | //作業用変数 |
uchikimi | 0:9d2545148cbf | 21 | long delt_ms = 1; |
uchikimi | 0:9d2545148cbf | 22 | wait_ms(delt_ms); |
uchikimi | 0:9d2545148cbf | 23 | |
uchikimi | 0:9d2545148cbf | 24 | while(1) { |
uchikimi | 0:9d2545148cbf | 25 | |
uchikimi | 0:9d2545148cbf | 26 | //エンコーダ値格納用変数 |
uchikimi | 0:9d2545148cbf | 27 | static double y; |
YMP | 2:fdd8a3074d79 | 28 | |
uchikimi | 0:9d2545148cbf | 29 | //エンコーダの値(生)の取得 |
uchikimi | 0:9d2545148cbf | 30 | y=(double)wheel.getPulses(); |
YMP | 2:fdd8a3074d79 | 31 | |
uchikimi | 0:9d2545148cbf | 32 | //エンコーダの値を角度に変換 |
uchikimi | 0:9d2545148cbf | 33 | y=y*360/(ROTATE_PER_REVOLUTIONS); |
YMP | 2:fdd8a3074d79 | 34 | |
uchikimi | 0:9d2545148cbf | 35 | //エンコーダ値(角度)の表示(TeraTerm) |
uchikimi | 0:9d2545148cbf | 36 | printf("%f\r\n",y); |
YMP | 2:fdd8a3074d79 | 37 | |
YMP | 1:bab46c2f0263 | 38 | //待機時間(1ミリ秒) |
uchikimi | 0:9d2545148cbf | 39 | wait(delt_ms); |
uchikimi | 0:9d2545148cbf | 40 | |
uchikimi | 0:9d2545148cbf | 41 | } |
uchikimi | 0:9d2545148cbf | 42 | |
uchikimi | 0:9d2545148cbf | 43 | } |