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@3:809e6c637f91, 2019-10-25 (annotated)
- Committer:
- YMP
- Date:
- Fri Oct 25 03:51:06 2019 +0000
- Revision:
- 3:809e6c637f91
- Parent:
- 2:fdd8a3074d79
ver2
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 | 3:809e6c637f91 | 28 | static double x; |
YMP | 2:fdd8a3074d79 | 29 | |
uchikimi | 0:9d2545148cbf | 30 | //エンコーダの値(生)の取得 |
uchikimi | 0:9d2545148cbf | 31 | y=(double)wheel.getPulses(); |
YMP | 2:fdd8a3074d79 | 32 | |
uchikimi | 0:9d2545148cbf | 33 | //エンコーダの値を角度に変換 |
YMP | 3:809e6c637f91 | 34 | x=y*360/(ROTATE_PER_REVOLUTIONS); |
YMP | 2:fdd8a3074d79 | 35 | |
uchikimi | 0:9d2545148cbf | 36 | //エンコーダ値(角度)の表示(TeraTerm) |
YMP | 3:809e6c637f91 | 37 | printf("%f\r\n",x); |
YMP | 2:fdd8a3074d79 | 38 | |
YMP | 1:bab46c2f0263 | 39 | //待機時間(1ミリ秒) |
YMP | 3:809e6c637f91 | 40 | wait_ms(delt_ms); |
uchikimi | 0:9d2545148cbf | 41 | |
uchikimi | 0:9d2545148cbf | 42 | } |
uchikimi | 0:9d2545148cbf | 43 | |
uchikimi | 0:9d2545148cbf | 44 | } |