3: 2010-10-12 (火) 20:00:55 eid7gud ソース 4: 2010-10-14 (木) 19:39:36 eid7gud ソース
Line 41: Line 41:
反射型フォトインタラプタのGNDとDynamxielConverterのCN2のPin10:GNDを接続します。 反射型フォトインタラプタのGNDとDynamxielConverterのCN2のPin10:GNDを接続します。
-反射型フォトインタラプタのOUTとDynamxielConverterのCN2のPin2:P1を接続します。勿論P2~P8でも構いません。+反射型フォトインタラプタのOUTとDynamxielConverterのCN2のPin2:PIO0を接続します。勿論PIO1~PIO7でも構いません。
#ref(figure2.png) #ref(figure2.png)
Line 63: Line 63:
また、いつでも付け替えられるようにしておくとより便利です。 また、いつでも付け替えられるようにしておくとより便利です。
-**Modeを変更する [#ycd5aec4]+**PIO Configを変更する [#ycd5aec4]
-Modeの設定は、運用時のプログラム内では設定しないことをお勧めします。 +PIO Configの設定は、運用時のプログラム内では設定しないことをお勧めします。 
-Modeを含む電源を切っても保存されるEEPROMエリア(アドレス0~24)の書き換え回数には制限があるためです。+PIO Configを含む電源を切っても保存されるEEPROMエリア(アドレス0~24)の書き換え回数には制限があるためです。
制限といっても何十万回という数ですので、普通に使用していれば制限を越えることはありません。 制限といっても何十万回という数ですので、普通に使用していれば制限を越えることはありません。
Line 85: Line 85:
 void main (void) {  void main (void) {
   uint8_t ReadData;  // アドレス42の値    uint8_t ReadData;  // アドレス42の値
-   bool P1;          // アドレス42のビット0の値+   bool PIO0;          // アドレス42のビット0の値
   fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4);    fd_Init (0, BT_CONSOLE, FD_BEEP_MMI | FD_BEEP_PACKETERR | FD_BEEP_LOWVOLTAGE | FD_BEEP_BOOTUP, 7.4);
Line 91: Line 91:
   while (1) {    while (1) {
     fd_DXReadByteData (1, 42, &ReadData);      fd_DXReadByteData (1, 42, &ReadData);
-     P1 = (ReadData & (1 << 0) ) >> 0; +     PIO0 = (ReadData & (1 << 0) ) >> 0; 
-     fd_printf ("%d : %d\r", ReadData, P1);+     fd_printf ("%d : %d\r", ReadData, PIO0);
     KEY_QUIT;      KEY_QUIT;
  }   }
Line 104: Line 104:
---- ----
- P1 = (ReadData & (1 << 0) ) >> 0;+ PIO0 = (ReadData & (1 << 0) ) >> 0;
Digital In(アドレス42)のデータからビット0の値だけを取り出しています。本来は Digital In(アドレス42)のデータからビット0の値だけを取り出しています。本来は
- P1 = ReadData & 1; + PIO0 = ReadData & 1; 
-だけで良いのですが、P2~P8の値を取得する場合を想定しこのように表記しています。+だけで良いのですが、PIO1~PIO7の値を取得する場合を想定しこのように表記しています。
-それではP3に反射型フォトインタラプタを接続した場合を考えてみます。 +それではPIO2に反射型フォトインタラプタを接続した場合を考えてみます。 
- P3 = (ReadData & (1 << 2) ) >> 2; + PIO2 = (ReadData & (1 << 2) ) >> 2; 
-P3の値はReadDataのビット2です。ReadDataからビット2の値だけを取り出すには論理積(&)とビットシフト(<<又は>>)を使います。+PIO2の値はReadDataのビット2です。ReadDataからビット2の値だけを取り出すには論理積(&)とビットシフト(<<又は>>)を使います。
(1 << 2)は1を左に2ビットシフトさせた値です。2進数で書くと (1 << 2)は1を左に2ビットシフトさせた値です。2進数で書くと


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom