arm/LM4F120F LaunchPad SPI通信に挑戦
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[FrontPage]]
#contents
2013/11/24からのアクセス回数 &counter;
** LaunchPad SPIモジュール [#pb62dc6f]
LM4F120Fには、3個のSSI((SPIと同様の機能を持つ同期シリアル...
今回は、Dポートに接続されているssi1を使ってArduinoのSPIス...
SSI関連のAPIについては、
[[同期シリアル・インターフェイ>http://ja.processors.wiki....
に日本語の説明がでていますので、参考にしてください。
*** SPI接続の結線 [#d3a655db]
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の結線は、以下の様になっています。
&ref(SPI_setting.png);
** Arduinoのスレーブモジュール [#f8d0feaa]
Arduino側のスレーブモジュールには、arduino_spi_slave.pde...
詳しくは、[[raspberrypi/SPIを試す]]を参照してください。
*** Hello worldを送る [#qb375129]
テストプログラムは、Hello Worldの後に改行を加えた文字列を...
SPITutorial.cppは、以下の様にしました。
#pre{{
#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...
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
// Configure the pin muxing for SSI1 functions on por...
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...
// SSI を設定します。
SSIClockSourceSet(SSI1_BASE, SSI_CLOCK_SYSTEM);
SSIConfigSetExpClk(SSI1_BASE, SysCtlClockGet(), SSI_...
SSI_MODE_MASTER, 500000, 8);
// SSI モジュールをイネーブルします。
SSIEnable(SSI1_BASE);
// データを送信します。
lIdx = 0;
while (pcChars[lIdx]) {
SSIDataPut(SSI1_BASE, pcChars[lIdx++]);
while (SSIBusy(SSI1_BASE))
continue;
}
}
}}
*** 動作確認 [#dd9a6df2]
LauchPadのプログラムを動かす前に、ArduionoのIDEメニューで...
それからLauchPadのプログラムを起動します。
Arduinoのシリアルモニターに以下の様にHello Worldが出れば...
&ref(spi_test_out.png);
** コメント [#w63e9a90]
#vote(おもしろかった,そうでもない,わかりずらい)
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
終了行:
[[FrontPage]]
#contents
2013/11/24からのアクセス回数 &counter;
** LaunchPad SPIモジュール [#pb62dc6f]
LM4F120Fには、3個のSSI((SPIと同様の機能を持つ同期シリアル...
今回は、Dポートに接続されているssi1を使ってArduinoのSPIス...
SSI関連のAPIについては、
[[同期シリアル・インターフェイ>http://ja.processors.wiki....
に日本語の説明がでていますので、参考にしてください。
*** SPI接続の結線 [#d3a655db]
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の結線は、以下の様になっています。
&ref(SPI_setting.png);
** Arduinoのスレーブモジュール [#f8d0feaa]
Arduino側のスレーブモジュールには、arduino_spi_slave.pde...
詳しくは、[[raspberrypi/SPIを試す]]を参照してください。
*** Hello worldを送る [#qb375129]
テストプログラムは、Hello Worldの後に改行を加えた文字列を...
SPITutorial.cppは、以下の様にしました。
#pre{{
#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...
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
// Configure the pin muxing for SSI1 functions on por...
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...
// SSI を設定します。
SSIClockSourceSet(SSI1_BASE, SSI_CLOCK_SYSTEM);
SSIConfigSetExpClk(SSI1_BASE, SysCtlClockGet(), SSI_...
SSI_MODE_MASTER, 500000, 8);
// SSI モジュールをイネーブルします。
SSIEnable(SSI1_BASE);
// データを送信します。
lIdx = 0;
while (pcChars[lIdx]) {
SSIDataPut(SSI1_BASE, pcChars[lIdx++]);
while (SSIBusy(SSI1_BASE))
continue;
}
}
}}
*** 動作確認 [#dd9a6df2]
LauchPadのプログラムを動かす前に、ArduionoのIDEメニューで...
それからLauchPadのプログラムを起動します。
Arduinoのシリアルモニターに以下の様にHello Worldが出れば...
&ref(spi_test_out.png);
** コメント [#w63e9a90]
#vote(おもしろかった,そうでもない,わかりずらい)
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
ページ名:
SmartDoc