15: 2011-07-22 (金) 20:07:05 takaboo | 16: 2011-08-03 (水) 16:49:27 takaboo | ||
---|---|---|---|
Line 434: | Line 434: | ||
// 動作環境設定 | // 動作環境設定 | ||
// GPIO8/9/10をPWMキャプチャモードに設定 | // GPIO8/9/10をPWMキャプチャモードに設定 | ||
- | UD3_CFG_GPIO8 (GPIO_PWM_CAP); | + | UD3_CFG_GPIO8 (GPIO_PWM_CAP_PULLUP_OFF); |
- | UD3_CFG_GPIO9 (GPIO_PWM_CAP); | + | UD3_CFG_GPIO9 (GPIO_PWM_CAP_PULLUP_OFF); |
- | UD3_CFG_GPIO10 (GPIO_PWM_CAP); | + | UD3_CFG_GPIO10 (GPIO_PWM_CAP_PULLUP_OFF); |
// モータの設定 | // モータの設定 | ||
UD3_SET_M1DRIVEMODE (_UD_MOTOR_DRIVE); | UD3_SET_M1DRIVEMODE (_UD_MOTOR_DRIVE); | ||
Line 864: | Line 864: | ||
} | } | ||
- | ****UD3_CFG_GPIO8 [#n31eda6b] | + | ****UD3_CFG_GPIO8 (update)[#n31eda6b] |
GPIO8の端子機能を設定する。 | GPIO8の端子機能を設定する。 | ||
int UD3_CFG_GPIO8 (TGPIOMode conf); | int UD3_CFG_GPIO8 (TGPIOMode conf); | ||
Line 875: | Line 875: | ||
3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ | ||
4: GPIO_OUT_PUSHPULL (プッシュプル出力)~ | 4: GPIO_OUT_PUSHPULL (プッシュプル出力)~ | ||
- | 5: GPIO_PWM_CAP (パルス幅計測用入力かつプルアップON)~ | + | 5: GPIO_PWM_CAP_PULLUP_OFF (パルス幅計測用入力かつプルアップOFF)~ |
- | 6: GPIO_PWM (PWM出力) | + | 6: GPIO_PWM_CAP_PULLUP_ON (パルス幅計測用入力かつプルアップON)~ |
+ | 7: GPIO_PWM (PWM出力) | ||
~デフォルトはGPIO_IN_PULLUP_OFF。 | ~デフォルトはGPIO_IN_PULLUP_OFF。 | ||
-戻り値 | -戻り値 | ||
Line 884: | Line 885: | ||
int main (void) { | int main (void) { | ||
- | { | + | // PWMキャプチャモードでプルアップOFFに設定 |
- | // PWMキャプチャモードに設定 | + | UD3_CFG_GPIO8 (GPIO_PWM_CAP_PULLUP_OFF); |
- | UD3_CFG_GPIO8 (GPIO_PWM_CAP); | + | |
} | } | ||
- | ****UD3_CFG_GPIO9 [#u201f4af] | + | ****UD3_CFG_GPIO9 (update)[#u201f4af] |
GPIO9の端子機能を設定する。 | GPIO9の端子機能を設定する。 | ||
int UD3_CFG_GPIO9 (TGPIOMode conf); | int UD3_CFG_GPIO9 (TGPIOMode conf); | ||
Line 900: | Line 900: | ||
3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ | ||
4: GPIO_OUT_PUSHPULL (プッシュプル出力)~ | 4: GPIO_OUT_PUSHPULL (プッシュプル出力)~ | ||
- | 5: GPIO_PWM_CAP (パルス幅計測用入力かつプルアップON)~ | + | 5: GPIO_PWM_CAP_PULLUP_OFF (パルス幅計測用入力かつプルアップOFF)~ |
- | 6: GPIO_PWM (PWM出力) | + | 6: GPIO_PWM_CAP_PULLUP_ON (パルス幅計測用入力かつプルアップON)~ |
+ | 7: GPIO_PWM (PWM出力) | ||
~デフォルトはGPIO_IN_PULLUP_OFF。 | ~デフォルトはGPIO_IN_PULLUP_OFF。 | ||
-戻り値 | -戻り値 | ||
Line 909: | Line 910: | ||
int main (void) { | int main (void) { | ||
- | { | ||
// パルス幅計測モードに設定 | // パルス幅計測モードに設定 | ||
- | UD3_CFG_GPIO9 (GPIO_PWM_CAP); | + | UD3_CFG_GPIO9 (GPIO_PWM_CAP_PULLUP_OFF); |
} | } | ||
- | ****UD3_CFG_GPIO10 [#d2dd2f39] | + | ****UD3_CFG_GPIO10 (update)[#d2dd2f39] |
GPIO10の端子機能を設定する。 | GPIO10の端子機能を設定する。 | ||
int UD3_CFG_GPIO10 (TGPIOMode conf); | int UD3_CFG_GPIO10 (TGPIOMode conf); | ||
Line 925: | Line 925: | ||
3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ | 3: GPIO_OUT_OPENDRAIN (オープンドレイン出力)~ | ||
4: GPIO_OUT_PUSHPULL (プッシュプル出力)~ | 4: GPIO_OUT_PUSHPULL (プッシュプル出力)~ | ||
- | 5: GPIO_PWM_CAP (パルス幅計測用入力かつプルアップON)~ | + | 5: GPIO_PWM_CAP_PULLUP_OFF (パルス幅計測用入力かつプルアップOFF)~ |
- | 6: GPIO_PWM (PWM出力) | + | 6: GPIO_PWM_CAP_PULLUP_ON (パルス幅計測用入力かつプルアップON)~ |
+ | 7: GPIO_PWM (PWM出力) | ||
~デフォルトはGPIO_IN_PULLUP_OFF。 | ~デフォルトはGPIO_IN_PULLUP_OFF。 | ||
-戻り値 | -戻り値 | ||
Line 934: | Line 935: | ||
int main (void) { | int main (void) { | ||
- | { | ||
// パルス幅計測モードに設定 | // パルス幅計測モードに設定 | ||
- | UD3_CFG_GPIO10 (GPIO_PWM_CAP); | + | UD3_CFG_GPIO10 (GPIO_PWM_CAP_PULLUP_OFF); |
} | } | ||
Line 1272: | Line 1272: | ||
****UD3_SET_PWM8CLOCK (update)[#g666594c] | ****UD3_SET_PWM8CLOCK (update)[#g666594c] | ||
PWM8のPWM出力及びPWM幅計測用ベースクロックを設定する。PWM出力及びPWM幅計測は本クロックを基準に最大16bitカウンタとして機能する。~ | PWM8のPWM出力及びPWM幅計測用ベースクロックを設定する。PWM出力及びPWM幅計測は本クロックを基準に最大16bitカウンタとして機能する。~ | ||
- | GPIO8を[[UD3_CFG_GPIO8>#u201f4af]]でGPIO_PWMないしGPIO_PWM_CAPに設定する必要がある。 | + | GPIO8を[[UD3_CFG_GPIO8>#u201f4af]]でGPIO_PWMないしGPIO_PWM_CAP_PULLUP_OFFないしGPIO_PWM_CAP_PULLUP_ONに設定する必要がある。 |
int UD3_SET_PWM8CLOCK (uint8_t clock); | int UD3_SET_PWM8CLOCK (uint8_t clock); | ||
-パラメータ | -パラメータ | ||
Line 1318: | Line 1318: | ||
****UD3_SET_PWM9CLOCK (update)[#ae26f679] | ****UD3_SET_PWM9CLOCK (update)[#ae26f679] | ||
PWM9のPWM出力及びPWM幅計測用ベースクロックを設定する。PWM出力及びPWM幅計測は本クロックを基準に最大16bitカウンタとして機能する。~ | PWM9のPWM出力及びPWM幅計測用ベースクロックを設定する。PWM出力及びPWM幅計測は本クロックを基準に最大16bitカウンタとして機能する。~ | ||
- | GPIO9を[[UD3_CFG_GPIO9>#u201f4af]]でGPIO_PWMないしGPIO_PWM_CAPに設定する必要がある。 | + | GPIO9を[[UD3_CFG_GPIO9>#u201f4af]]でGPIO_PWMないしGPIO_PWM_CAP_PULLUP_OFFないしGPIO_PWM_CAP_PULLUP_ONに設定する必要がある。 |
int UD3_SET_PWM9CLOCK (uint8_t clock); | int UD3_SET_PWM9CLOCK (uint8_t clock); | ||
-パラメータ | -パラメータ | ||
Line 1364: | Line 1364: | ||
****UD3_SET_PWM10CLOCK (update)[#cd6005d8] | ****UD3_SET_PWM10CLOCK (update)[#cd6005d8] | ||
PWM10のPWM出力及びPWM幅計測用ベースクロックを設定する。PWM出力及びPWM幅計測は本クロックを基準に最大16bitカウンタとして機能する。~ | PWM10のPWM出力及びPWM幅計測用ベースクロックを設定する。PWM出力及びPWM幅計測は本クロックを基準に最大16bitカウンタとして機能する。~ | ||
- | GPIO10を[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWMないしGPIO_PWM_CAPに設定する必要がある。 | + | GPIO10を[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWMないしGPIO_PWM_CAP_PULLUP_OFFないしGPIO_PWM_CAP_PULLUP_ONに設定する必要がある。 |
int UD3_SET_PWM10CLOCK (uint8_t clock); | int UD3_SET_PWM10CLOCK (uint8_t clock); | ||
-パラメータ | -パラメータ | ||
Line 1410: | Line 1410: | ||
****UD3_GET_PWM8DUTY [#td3856a0] | ****UD3_GET_PWM8DUTY [#td3856a0] | ||
PWM8のキャプチャしたパルス幅を取得する。~ | PWM8のキャプチャしたパルス幅を取得する。~ | ||
- | GPIO8を[[UD3_CFG_GPIO8>#u201f4af]]でGPIO_PWM_CAPに設定する必要がある。 | + | GPIO8を[[UD3_CFG_GPIO8>#u201f4af]]でGPIO_PWM_CAP_PULLUP_OFFないしGPIO_PWM_CAP_PULLUP_ONに設定する必要がある。 |
uint16_t UD3_GET_PWM8DUTY (void); | uint16_t UD3_GET_PWM8DUTY (void); | ||
-パラメータ | -パラメータ | ||
Line 1422: | Line 1422: | ||
****UD3_GET_PWM9DUTY [#x328a466] | ****UD3_GET_PWM9DUTY [#x328a466] | ||
PWM9のキャプチャしたパルス幅を取得する。~ | PWM9のキャプチャしたパルス幅を取得する。~ | ||
- | GPIO9を[[UD3_CFG_GPIO9>#j90d8ac4]]でGPIO_PWM_CAPに設定する必要がある。 | + | GPIO9を[[UD3_CFG_GPIO9>#j90d8ac4]]でGPIO_PWM_CAP_PULLUP_OFFないしGPIO_PWM_CAP_PULLUP_ONに設定する必要がある。 |
uint16_t UD3_GET_PWM9DUTY (void); | uint16_t UD3_GET_PWM9DUTY (void); | ||
-パラメータ | -パラメータ | ||
Line 1434: | Line 1434: | ||
****UD3_GET_PWM10DUTY [#kf3fddcb] | ****UD3_GET_PWM10DUTY [#kf3fddcb] | ||
PWM10のキャプチャしたパルス幅を取得する。~ | PWM10のキャプチャしたパルス幅を取得する。~ | ||
- | GPIO10を[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWM_CAPに設定する必要がある。 | + | GPIO10を[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWM_CAP_PULLUP_OFFないしGPIO_PWM_CAP_PULLUP_ONに設定する必要がある。 |
uint16_t UD3_GET_PWM10DUTY (void); | uint16_t UD3_GET_PWM10DUTY (void); | ||
-パラメータ | -パラメータ | ||
Line 1448: | Line 1448: | ||
不感帯はスティックの中立及び最大・最少位置にそれぞれ設けられ、中立位置と最大・最少位置を正確に計測した後に反映される。スティックの位置と不感帯、デューティーとして指令される値の相関は以下の図に示す。~ | 不感帯はスティックの中立及び最大・最少位置にそれぞれ設けられ、中立位置と最大・最少位置を正確に計測した後に反映される。スティックの位置と不感帯、デューティーとして指令される値の相関は以下の図に示す。~ | ||
#ref(ud3_stick2duty.png,100%) | #ref(ud3_stick2duty.png,100%) | ||
- | 予め[[UD3_CFG_GPIO8>#u201f4af]],[[UD3_CFG_GPIO9>#j90d8ac4]],[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWM_CAPに設定する必要がある。 | + | 予め[[UD3_CFG_GPIO8>#u201f4af]],[[UD3_CFG_GPIO9>#j90d8ac4]],[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWM_CAP_PULLUP_OFFないしGPIO_PWM_CAP_PULLUP_ONに設定する必要がある。 |
~本APIが実行されると以下の手順で調整操作を行う。 | ~本APIが実行されると以下の手順で調整操作を行う。 | ||
+UD3_MEASURE_STICKPOSがコールされるとピロリと音が鳴り、計測モードに遷移した事を知らせる。 | +UD3_MEASURE_STICKPOSがコールされるとピロリと音が鳴り、計測モードに遷移した事を知らせる。 | ||
Line 1473: | Line 1473: | ||
int main (void) { | int main (void) { | ||
// GPIO8,9をパルス幅計測モードに | // GPIO8,9をパルス幅計測モードに | ||
- | UD3_CFG_GPIO8 (GPIO_PWM_CAP); | + | UD3_CFG_GPIO8 (GPIO_PWM_CAP_PULLUP_OFF); |
- | UD3_CFG_GPIO9 (GPIO_PWM_CAP); | + | UD3_CFG_GPIO9 (GPIO_PWM_CAP_PULLUP_OFF); |
// モータの駆動モード設定 | // モータの駆動モード設定 | ||
UD3_SET_M1DRIVEMODE (_UD_MOTOR_DRIVE); | UD3_SET_M1DRIVEMODE (_UD_MOTOR_DRIVE); | ||
Line 1498: | Line 1498: | ||
指定したチャネルのラジコンプロポのスティックの値を取得する。~ | 指定したチャネルのラジコンプロポのスティックの値を取得する。~ | ||
この取得した値は、[[UD3_MEASURE_STICKPOS>#w3c149c4]]で調整された値となる。~ | この取得した値は、[[UD3_MEASURE_STICKPOS>#w3c149c4]]で調整された値となる。~ | ||
- | 予め[[UD3_CFG_GPIO8>#u201f4af]],[[UD3_CFG_GPIO9>#j90d8ac4]],[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWM_CAPに設定する必要がある。 | + | 予め[[UD3_CFG_GPIO8>#u201f4af]],[[UD3_CFG_GPIO9>#j90d8ac4]],[[UD3_CFG_GPIO10>#d2dd2f39]]でGPIO_PWM_CAP_PULLUP_OFFないしGPIO_PWM_CAP_PULLUP_ONに設定する必要がある。 |
int16_t UD3_GET_RCPOS (uint8_t ch); | int16_t UD3_GET_RCPOS (uint8_t ch); | ||
-パラメータ | -パラメータ | ||
Line 1533: | Line 1533: | ||
int main (void) { | int main (void) { | ||
// GPIO8,9をパルス幅計測モードに | // GPIO8,9をパルス幅計測モードに | ||
- | UD3_CFG_GPIO8 (GPIO_PWM_CAP); | + | UD3_CFG_GPIO8 (GPIO_PWM_CAP_PULLUP_OFF); |
- | UD3_CFG_GPIO9 (GPIO_PWM_CAP); | + | UD3_CFG_GPIO9 (GPIO_PWM_CAP_PULLUP_OFF); |
// モータの駆動モード設定 | // モータの駆動モード設定 | ||
UD3_SET_M1DRIVEMODE (_UD_MOTOR_DRIVE); | UD3_SET_M1DRIVEMODE (_UD_MOTOR_DRIVE); | ||
Line 2039: | Line 2039: | ||
**サンプルプログラム [#kf8170aa] | **サンプルプログラム [#kf8170aa] | ||
APIを使用したいくつかのサンプルプログラムを用意しました。以下よりダウンロードして解凍した上でご利用ください。詳細はコメントおよびAPIのドキュメントを参考に読み解いてください。 | APIを使用したいくつかのサンプルプログラムを用意しました。以下よりダウンロードして解凍した上でご利用ください。詳細はコメントおよびAPIのドキュメントを参考に読み解いてください。 | ||
+ | |||
+ | -UD3用サンプルプログラム Ver1.5 (2011/8/3)~ | ||
+ | #ref(http://www.besttechnology.co.jp/download/UD3_SMPL1.5.zip) | ||
+ | --更新履歴~ | ||
+ | GCC Developer Lite 2.4.0.13r3以降のAPI追加・変更に伴う修正 | ||
-UD3用サンプルプログラム Ver1.4 (2011/7/22)~ | -UD3用サンプルプログラム Ver1.4 (2011/7/22)~ | ||
#ref(http://www.besttechnology.co.jp/download/UD3_SMPL1.4.zip) | #ref(http://www.besttechnology.co.jp/download/UD3_SMPL1.4.zip) | ||
--更新履歴~ | --更新履歴~ | ||
- | GCC Developer Lite 2.4.0.16以降のAPI追加・変更に伴う追加・修正 | + | GCC Developer Lite 2.4.0.13以降のAPI追加・変更に伴う追加・修正 |
-UD3用サンプルプログラム Ver1.3 (2011/4/6)~ | -UD3用サンプルプログラム Ver1.3 (2011/4/6)~ |