11: 2011-04-03 (日) 14:32:38 takaboo | 12: 2011-04-06 (水) 17:22:59 takaboo | ||
---|---|---|---|
Line 1: | Line 1: | ||
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]]~ | ||
Line 1242: | Line 1242: | ||
***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); | ||
Line 1254: | Line 1254: | ||
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が返される。 | ||
Line 1287: | Line 1288: | ||
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); | ||
Line 1299: | Line 1300: | ||
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が返される。 | ||
Line 1332: | Line 1334: | ||
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); | ||
Line 1344: | Line 1346: | ||
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が返される。 | ||
Line 1777: | Line 1780: | ||
****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''' | ||
Line 1783: | Line 1786: | ||
デフォルトは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''' | ||
Line 1794: | Line 1797: | ||
--uint32_t '''timeout''' | --uint32_t '''timeout''' | ||
~タイムアウト[ms] | ~タイムアウト[ms] | ||
+ | --uint16_t '''*errcode''' | ||
+ | ~アラームステータスを保存するポインタ | ||
-戻り値 | -戻り値 | ||
~true: タイムアウト時間内に正常な応答があった~ | ~true: タイムアウト時間内に正常な応答があった~ | ||
Line 1801: | Line 1806: | ||
****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''' | ||
Line 1807: | Line 1812: | ||
--uint32_t '''timeout''' | --uint32_t '''timeout''' | ||
~タイムアウト[ms] | ~タイムアウト[ms] | ||
+ | --uint16_t '''*errcode''' | ||
+ | ~アラームステータスを保存するポインタ | ||
-戻り値 | -戻り値 | ||
~true: タイムアウト時間内に正常な応答があり、idへ応答したidが返される~ | ~true: タイムアウト時間内に正常な応答があり、idへ応答したidが返される~ | ||
Line 1814: | Line 1821: | ||
****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''' | ||
Line 1822: | Line 1829: | ||
--uint32_t '''timeout''' | --uint32_t '''timeout''' | ||
~タイムアウト[ms] | ~タイムアウト[ms] | ||
+ | --uint16_t '''*errcode''' | ||
+ | ~アラームステータスを保存するポインタ | ||
-戻り値 | -戻り値 | ||
~true: タイムアウト時間内に正常な応答があった~ | ~true: タイムアウト時間内に正常な応答があった~ | ||
Line 1829: | Line 1838: | ||
****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''' | ||
Line 1837: | Line 1846: | ||
--uint32_t '''timeout''' | --uint32_t '''timeout''' | ||
~タイムアウト[ms] | ~タイムアウト[ms] | ||
+ | --uint16_t '''*errcode''' | ||
+ | ~アラームステータスを保存するポインタ | ||
-戻り値 | -戻り値 | ||
~true: タイムアウト時間内に正常な応答があった~ | ~true: タイムアウト時間内に正常な応答があった~ | ||
Line 1844: | Line 1855: | ||
****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''' | ||
Line 1852: | Line 1863: | ||
--uint32_t '''timeout''' | --uint32_t '''timeout''' | ||
~タイムアウト[ms] | ~タイムアウト[ms] | ||
+ | --uint16_t '''*errcode''' | ||
+ | ~アラームステータスを保存するポインタ | ||
-戻り値 | -戻り値 | ||
~true: タイムアウト時間内に正常な応答があった~ | ~true: タイムアウト時間内に正常な応答があった~ | ||
Line 1859: | Line 1872: | ||
****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''' | ||
Line 1867: | Line 1880: | ||
--uint32_t '''timeout''' | --uint32_t '''timeout''' | ||
~タイムアウト[ms] | ~タイムアウト[ms] | ||
+ | --uint16_t '''*errcode''' | ||
+ | ~アラームステータスを保存するポインタ | ||
-戻り値 | -戻り値 | ||
~true: タイムアウト時間内に正常な応答があった~ | ~true: タイムアウト時間内に正常な応答があった~ | ||
Line 1874: | Line 1889: | ||
****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''' | ||
Line 1882: | Line 1897: | ||
--uint32_t '''timeout''' | --uint32_t '''timeout''' | ||
~タイムアウト[ms] | ~タイムアウト[ms] | ||
+ | --uint16_t '''*errcode''' | ||
+ | ~アラームステータスを保存するポインタ | ||
-戻り値 | -戻り値 | ||
~true: タイムアウト時間内に正常な応答があった~ | ~true: タイムアウト時間内に正常な応答があった~ | ||
Line 1889: | Line 1906: | ||
****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''' | ||
Line 1897: | Line 1914: | ||
--uint32_t '''timeout''' | --uint32_t '''timeout''' | ||
~タイムアウト[ms] | ~タイムアウト[ms] | ||
+ | --uint16_t '''*errcode''' | ||
+ | ~アラームステータスを保存するポインタ | ||
-戻り値 | -戻り値 | ||
~true: タイムアウト時間内に正常な応答があった~ | ~true: タイムアウト時間内に正常な応答があった~ | ||
Line 1906: | Line 1925: | ||
**サンプルプログラム [#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~ |