FrontPage

2013/11/24からのアクセス回数 1607

LaunchPad SPIモジュール

LM4F120Fには、3個のSSI*1モジュールが搭載されており、それぞれssi0~ssi2となっています。

今回は、Dポートに接続されているssi1を使ってArduinoのSPIスレーブと通信して、動作を確認しました。

SSI関連のAPIについては、 同期シリアル・インターフェイ に日本語の説明がでていますので、参考にしてください。

SPI接続の結線

LaunchPadのピンは、以下の様になっています。

  • J3_6 (PD3) ssi1Tx (MOSIに相当)
  • J3_5 (PD2) ssi1Rx (MISOに相当)
  • J3_3 (PD0) ssi1Clk (SCKL)
  • J3_2 (GND)

Arduinoのピンは、以下のピンを使用します。

  • D11 (MOSI)
  • D12 (MISO)
  • D13 (CLK)
  • GND

AdruinoとLaunchPadの結線は、以下の様になっています。

SPI_setting.png

Arduinoのスレーブモジュール

Arduino側のスレーブモジュールには、arduino_spi_slave.pdeのスケッチを使用しました。 詳しくは、raspberrypi/SPIを試すを参照してください。

Hello worldを送る

テストプログラムは、Hello Worldの後に改行を加えた文字列をArduinoに送ります。

SPITutorial.cppは、以下の様にしました。

#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "driverlib/ssi.h"
#include "driverlib/pin_map.h"

int main(void) {
     char *pcChars = "Hello World\n";
     long lIdx;

    // The SSI1 peripheral and port D must be enabled for use.
    SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI1);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);

    // Configure the pin muxing for SSI1 functions on port D.
    GPIOPinConfigure(GPIO_PD0_SSI1CLK);
    GPIOPinConfigure(GPIO_PD2_SSI1RX);
    GPIOPinConfigure(GPIO_PD3_SSI1TX);
     GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_1);
    GPIOPinTypeSSI(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_2 | GPIO_PIN_3);

     // SSI を設定します。
     SSIClockSourceSet(SSI1_BASE, SSI_CLOCK_SYSTEM);
     SSIConfigSetExpClk(SSI1_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,
               SSI_MODE_MASTER, 500000, 8);
     // SSI モジュールをイネーブルします。
     SSIEnable(SSI1_BASE);

     // データを送信します。
     lIdx = 0;
     while (pcChars[lIdx]) {
          SSIDataPut(SSI1_BASE, pcChars[lIdx++]);
          while (SSIBusy(SSI1_BASE))
               continue;
     }
}

動作確認

LauchPadのプログラムを動かす前に、ArduionoのIDEメニューで「ツール」→「シリアルモニター」を選択し、ボーレートを115200 bpsにセットします。

それからLauchPadのプログラムを起動します。

Arduinoのシリアルモニターに以下の様にHello Worldが出れば完成です。

spi_test_out.png

コメント

選択肢 投票
おもしろかった 0  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。


(Input image string)


*1 SPIと同様の機能を持つ同期シリアル・インターフェイス

添付ファイル: filespi_test_out.png 292件 [詳細] fileSPI_setting.png 305件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-11-24 (日) 09:15:17 (1251d)
SmartDoc