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@1:bab46c2f0263, 2019-09-20 (annotated)
- Committer:
- YMP
- Date:
- Fri Sep 20 08:56:56 2019 +0000
- Revision:
- 1:bab46c2f0263
- Parent:
- 0:9d2545148cbf
- Child:
- 2:fdd8a3074d79
seisaku;
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; |
uchikimi | 0:9d2545148cbf | 28 | //エンコーダの値(生)の取得 |
uchikimi | 0:9d2545148cbf | 29 | y=(double)wheel.getPulses(); |
uchikimi | 0:9d2545148cbf | 30 | //エンコーダの値を角度に変換 |
uchikimi | 0:9d2545148cbf | 31 | y=y*360/(ROTATE_PER_REVOLUTIONS); |
uchikimi | 0:9d2545148cbf | 32 | //エンコーダ値(角度)の表示(TeraTerm) |
uchikimi | 0:9d2545148cbf | 33 | printf("%f\r\n",y); |
YMP | 1:bab46c2f0263 | 34 | //待機時間(1ミリ秒) |
uchikimi | 0:9d2545148cbf | 35 | wait(delt_ms); |
uchikimi | 0:9d2545148cbf | 36 | |
uchikimi | 0:9d2545148cbf | 37 | } |
uchikimi | 0:9d2545148cbf | 38 | |
uchikimi | 0:9d2545148cbf | 39 | } |