11: 2011-04-03 (日) 14:32:38 takaboo |
12: 2011-04-06 (水) 17:22:59 takaboo |
| TITLE:ユニバーサルドライバ3マニュアル | | TITLE:ユニバーサルドライバ3マニュアル |
- | f#norelated | + | #norelated |
| #contents | | #contents |
| [[ショップページへ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=110]]~ | | [[ショップページへ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=110]]~ |
| | | |
| ***GPIOパルス入出力関連 [#o25124f6] | | ***GPIOパルス入出力関連 [#o25124f6] |
- | ****UD3_SET_PWM8CLOCK [#g666594c] | + | ****UD3_SET_PWM8CLOCK (update)[#g666594c] |
- | PWM8の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に設定する必要がある。 |
| int UD3_SET_PWM8CLOCK (uint8_t clock); | | int UD3_SET_PWM8CLOCK (uint8_t clock); |
| 3: _UD_PWM_CLOCK_375K (375kHz)~ | | 3: _UD_PWM_CLOCK_375K (375kHz)~ |
| 4: _UD_PWM_CLOCK_46K (46.875kHz) | | 4: _UD_PWM_CLOCK_46K (46.875kHz) |
| + | ~デフォルトは1(6MHz) |
| -戻り値 | | -戻り値 |
| ~成功すると0 、パラメータエラーがあった場合は-1が返される。 | | ~成功すると0 、パラメータエラーがあった場合は-1が返される。 |
| UD3_SET_PWM8DUTY (5000); | | UD3_SET_PWM8DUTY (5000); |
| | | |
- | ****UD3_SET_PWM9CLOCK [#ae26f679] | + | ****UD3_SET_PWM9CLOCK (update)[#ae26f679] |
- | PWM9の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に設定する必要がある。 |
| int UD3_SET_PWM9CLOCK (uint8_t clock); | | int UD3_SET_PWM9CLOCK (uint8_t clock); |
| 3: _UD_PWM_CLOCK_375K (375kHz)~ | | 3: _UD_PWM_CLOCK_375K (375kHz)~ |
| 4: _UD_PWM_CLOCK_46K (46.875kHz) | | 4: _UD_PWM_CLOCK_46K (46.875kHz) |
| + | ~デフォルトは1(6MHz) |
| -戻り値 | | -戻り値 |
| ~成功すると0 、パラメータエラーがあった場合は-1が返される。 | | ~成功すると0 、パラメータエラーがあった場合は-1が返される。 |
| UD3_SET_PWM9DUTY (5000); | | UD3_SET_PWM9DUTY (5000); |
| | | |
- | ****UD3_SET_PWM10CLOCK [#cd6005d8] | + | ****UD3_SET_PWM10CLOCK (update)[#cd6005d8] |
- | PWM10の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に設定する必要がある。 |
| int UD3_SET_PWM10CLOCK (uint8_t clock); | | int UD3_SET_PWM10CLOCK (uint8_t clock); |
| 3: _UD_PWM_CLOCK_375K (375kHz)~ | | 3: _UD_PWM_CLOCK_375K (375kHz)~ |
| 4: _UD_PWM_CLOCK_46K (46.875kHz) | | 4: _UD_PWM_CLOCK_46K (46.875kHz) |
| + | ~デフォルトは1(6MHz) |
| -戻り値 | | -戻り値 |
| ~成功すると0 、パラメータエラーがあった場合は-1が返される。 | | ~成功すると0 、パラメータエラーがあった場合は-1が返される。 |
| ****DX_ChangeBaudrate (new) [#z585203f] | | ****DX_ChangeBaudrate (new) [#z585203f] |
| ボーレートを変更する。 | | ボーレートを変更する。 |
- | void DX_ChangeBaudrate (uint32_t baud); | + | bool DX_ChangeBaudrate (uint32_t baud); |
| -パラメータ | | -パラメータ |
| --uint32_t '''baud''' | | --uint32_t '''baud''' |
| デフォルトは1000000[bps] | | デフォルトは1000000[bps] |
| -戻り値 | | -戻り値 |
- | ~なし | + | ~bool 指定ボーレートと論理ボーレートとの誤差が2%以下の時true |
| -使用例 | | -使用例 |
| | | |
| ****DX_Ping (new) [#bf72833f] | | ****DX_Ping (new) [#bf72833f] |
| 指定されたIDの存在を確認する。 | | 指定されたIDの存在を確認する。 |
- | bool DX_Ping (uint8_t id, uint32_t timeout); | + | bool DX_Ping (uint8_t id, uint32_t timeout, uint16_t *errcode); |
| -パラメータ | | -パラメータ |
| --uint8_t '''id''' | | --uint8_t '''id''' |
| --uint32_t '''timeout''' | | --uint32_t '''timeout''' |
| ~タイムアウト[ms] | | ~タイムアウト[ms] |
| + | --uint16_t '''*errcode''' |
| + | ~アラームステータスを保存するポインタ |
| -戻り値 | | -戻り値 |
| ~true: タイムアウト時間内に正常な応答があった~ | | ~true: タイムアウト時間内に正常な応答があった~ |
| ****DX_Ping2 (new) [#nf87452a] | | ****DX_Ping2 (new) [#nf87452a] |
| 不明なIDのデバイスのIDを見つける。 | | 不明なIDのデバイスのIDを見つける。 |
- | bool DX_Ping2 (uint8_t *id, uint32_t timeout); | + | bool DX_Ping2 (uint8_t *id, uint32_t timeout, uint16_t *errcode); |
| -パラメータ | | -パラメータ |
| --uint8_t '''*id''' | | --uint8_t '''*id''' |
| --uint32_t '''timeout''' | | --uint32_t '''timeout''' |
| ~タイムアウト[ms] | | ~タイムアウト[ms] |
| + | --uint16_t '''*errcode''' |
| + | ~アラームステータスを保存するポインタ |
| -戻り値 | | -戻り値 |
| ~true: タイムアウト時間内に正常な応答があり、idへ応答したidが返される~ | | ~true: タイムアウト時間内に正常な応答があり、idへ応答したidが返される~ |
| ****DX_ReadByteData (new) [#f32225e1] | | ****DX_ReadByteData (new) [#f32225e1] |
| 指定IDの指定アドレスから1バイトのデータを読み出す。 | | 指定IDの指定アドレスから1バイトのデータを読み出す。 |
- | bool DX_ReadByteData (uint8_t id, uint8_t adr, uint8_t *result, uint32_t timeout); | + | bool DX_ReadByteData (uint8_t id, uint8_t adr, uint8_t *result, uint32_t timeout, uint16_t *errcode); |
| -パラメータ | | -パラメータ |
| --uint8_t '''id''' | | --uint8_t '''id''' |
| --uint32_t '''timeout''' | | --uint32_t '''timeout''' |
| ~タイムアウト[ms] | | ~タイムアウト[ms] |
| + | --uint16_t '''*errcode''' |
| + | ~アラームステータスを保存するポインタ |
| -戻り値 | | -戻り値 |
| ~true: タイムアウト時間内に正常な応答があった~ | | ~true: タイムアウト時間内に正常な応答があった~ |
| ****DX_ReadWordData (new) [#m5230d39] | | ****DX_ReadWordData (new) [#m5230d39] |
| 指定IDの指定アドレスから1ワード(2バイト)のデータを読み出す。 | | 指定IDの指定アドレスから1ワード(2バイト)のデータを読み出す。 |
- | bool DX_ReadWordData (uint8_t id, uint8_t adr, uint16_t *result, uint32_t timeout); | + | bool DX_ReadWordData (uint8_t id, uint8_t adr, uint16_t *result, uint32_t timeout, uint16_t *errcode); |
| -パラメータ | | -パラメータ |
| --uint8_t '''id''' | | --uint8_t '''id''' |
| --uint32_t '''timeout''' | | --uint32_t '''timeout''' |
| ~タイムアウト[ms] | | ~タイムアウト[ms] |
| + | --uint16_t '''*errcode''' |
| + | ~アラームステータスを保存するポインタ |
| -戻り値 | | -戻り値 |
| ~true: タイムアウト時間内に正常な応答があった~ | | ~true: タイムアウト時間内に正常な応答があった~ |
| ****DX_ReadBlockData (new) [#d0ba2a9e] | | ****DX_ReadBlockData (new) [#d0ba2a9e] |
| 指定IDの指定アドレスから指定バイト数のデータを読み出す。 | | 指定IDの指定アドレスから指定バイト数のデータを読み出す。 |
- | bool DX_ReadBlockData (uint8_t id, uint8_t adr, uint8_t *result, uint8_t len, uint32_t timeout); | + | bool DX_ReadBlockData (uint8_t id, uint8_t adr, uint8_t *result, uint8_t len, uint32_t timeout, uint16_t *errcode); |
| -パラメータ | | -パラメータ |
| --uint8_t '''id''' | | --uint8_t '''id''' |
| --uint32_t '''timeout''' | | --uint32_t '''timeout''' |
| ~タイムアウト[ms] | | ~タイムアウト[ms] |
| + | --uint16_t '''*errcode''' |
| + | ~アラームステータスを保存するポインタ |
| -戻り値 | | -戻り値 |
| ~true: タイムアウト時間内に正常な応答があった~ | | ~true: タイムアウト時間内に正常な応答があった~ |
| ****DX_WriteByteData (new) [#nd22b7cf] | | ****DX_WriteByteData (new) [#nd22b7cf] |
| 指定IDの指定アドレスへ1バイトのデータを書き込む。 | | 指定IDの指定アドレスへ1バイトのデータを書き込む。 |
- | bool DX_WriteByteData (uint8_t id, uint8_t adr, uint8_t dat, uint32_t timeout); | + | bool DX_WriteByteData (uint8_t id, uint8_t adr, uint8_t dat, uint32_t timeout, uint16_t *errcode); |
| -パラメータ | | -パラメータ |
| --uint8_t '''id''' | | --uint8_t '''id''' |
| --uint32_t '''timeout''' | | --uint32_t '''timeout''' |
| ~タイムアウト[ms] | | ~タイムアウト[ms] |
| + | --uint16_t '''*errcode''' |
| + | ~アラームステータスを保存するポインタ |
| -戻り値 | | -戻り値 |
| ~true: タイムアウト時間内に正常な応答があった~ | | ~true: タイムアウト時間内に正常な応答があった~ |
| ****DX_WriteWordData (new) [#f8044400] | | ****DX_WriteWordData (new) [#f8044400] |
| 指定IDの指定アドレスへ1ワード(2バイト)のデータを書き込む。 | | 指定IDの指定アドレスへ1ワード(2バイト)のデータを書き込む。 |
- | bool DX_WriteWordData (uint8_t id, uint8_t adr, uint16_t dat, uint32_t timeout); | + | bool DX_WriteWordData (uint8_t id, uint8_t adr, uint16_t dat, uint32_t timeout, uint16_t *errcode); |
| -パラメータ | | -パラメータ |
| --uint8_t '''id''' | | --uint8_t '''id''' |
| --uint32_t '''timeout''' | | --uint32_t '''timeout''' |
| ~タイムアウト[ms] | | ~タイムアウト[ms] |
| + | --uint16_t '''*errcode''' |
| + | ~アラームステータスを保存するポインタ |
| -戻り値 | | -戻り値 |
| ~true: タイムアウト時間内に正常な応答があった~ | | ~true: タイムアウト時間内に正常な応答があった~ |
| ****DX_WriteBlockData (new) [#f5423302] | | ****DX_WriteBlockData (new) [#f5423302] |
| 指定IDの指定アドレスへ複数バイトのデータを書き込む。 | | 指定IDの指定アドレスへ複数バイトのデータを書き込む。 |
- | bool DX_WriteBlockData (uint8_t id, uint8_t adr, const uint8_t *dat, uint8_t len, uint32_t timeout); | + | bool DX_WriteBlockData (uint8_t id, uint8_t adr, const uint8_t *dat, uint8_t len, uint32_t timeout, uint16_t *errcode); |
| -パラメータ | | -パラメータ |
| --uint8_t '''id''' | | --uint8_t '''id''' |
| --uint32_t '''timeout''' | | --uint32_t '''timeout''' |
| ~タイムアウト[ms] | | ~タイムアウト[ms] |
| + | --uint16_t '''*errcode''' |
| + | ~アラームステータスを保存するポインタ |
| -戻り値 | | -戻り値 |
| ~true: タイムアウト時間内に正常な応答があった~ | | ~true: タイムアウト時間内に正常な応答があった~ |
| | | |
| **サンプルプログラム [#kf8170aa] | | **サンプルプログラム [#kf8170aa] |
- | APIを使用したいくつかのサンプルプログラムを用意しました。以下よりダウンロードして解凍した上でご利用ください。 | + | APIを使用したいくつかのサンプルプログラムを用意しました。以下よりダウンロードして解凍した上でご利用ください。詳細はコメントおよびAPIのドキュメントを参考に読み解いてください。 |
| + | |
| + | #ref(UD3_SMPL1.3.zip) |
| + | -更新履歴~ |
| + | 2010/4/6 Ver.1.3~ |
| + | GCC Developer Lite 2.4.0.0r3以降のAPI追加・変更に伴う追加・修正 |
| #ref(UD3_SMPL1.2.zip) | | #ref(UD3_SMPL1.2.zip) |
- | 詳細はコメントおよびAPIのドキュメントを参考に読み解いてください。 | |
| -更新履歴~ | | -更新履歴~ |
| 2010/9/25 Ver.1.2~ | | 2010/9/25 Ver.1.2~ |