質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1505閲覧

nRF52832のSPI通信のピン設定

46psm

総合スコア16

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2018/10/15 02:21

こんにちは
私は、BLENano2というnRF52DKを用いて加速度センサ(LSM303DLHC)とI2C通信、SDカードとSPI通信をしようとしています。
開発環境はNordicのkeil uversion 5のfatfs(nRF5_SDK_15.0.0_a53641a)を使用しています。
まず初めにSDカードに書き込みができるか確認しようとピン番号を

#define SDC_SCK_PIN 2 ///< SDC serial clock (SCK) pin. #define SDC_MOSI_PIN 29 ///< SDC serial data in (DI) pin. #define SDC_MISO_PIN 30 ///< SDC serial data out (DO) pin. #define SDC_CS_PIN 28 ///< SDC chip select (CS) pin. ```と指定し、SDカードに指定した文字列を書き込もうとしたところ、問題なく書き込むことができました。しかしI2C通信でこれらのピンの一部を使わなくてはいけないため、SPI通信のピンを ```ここに言語を入力 #define SDC_SCK_PIN 8 ///< SDC serial clock (SCK) pin. #define SDC_MOSI_PIN 6 ///< SDC serial data in (DI) pin. #define SDC_MISO_PIN 7 ///< SDC serial data out (DO) pin. #define SDC_CS_PIN 3 ///< SDC chip select (CS) pin. ```と定義し実行したところ、SDカードのファイル内に書き込むことができませんでした。 変更したところは上記のピン番号だけで他のコードはいじっていないのですが、なぜできなのでしょうか?ピン番号以外に設定を見直す必要があるのでしょうか? [スイッチサイエンスの商品説明](https://www.switch-science.com/catalog/3444/)にはこのピン番号でもSPI通信は可能であると書いてあるのですが原因と解決方法がわかる方お願いします。 この質問は[ここ](https://ja.stackoverflow.com/questions/49282/nrf52832blenanov2のspi通信の設定)でも投稿しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

46psmさん、

nRF52は、I2C/SPIなどは、GPIOピンであれば、どのピンへもマッピングできるはずです。
スイッチサイエンスの商品説明は、おそらく、BLENano2をArduinoのファーム焼いて使う場合のマッピングが書かれてるのではないかと思います。

なので、単純にピンのアサインを変えただけ動くはずなんですけどね...

ハードウェアでちゃんとピンが接続されているか、と、ソフトウェアのコードで別の所からピンを使おうとしていないか、再度確認してみてください。

NordicのSDKを使うのであれば、ピンのマッピングは気にしなくていいはずなので、
逆に、I2Cを空いているPINにマップしてしまう、っていうのはどうでしょうか。

投稿2018/10/15 19:18

mt08

総合スコア1825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まず、そのピンの機能設定をするところをチェックしてみましょう
SPI通信は可能である、ってだけで、変更無しでできるというわけではありません


ああ、リンク先を見ると、そのピンだとSPIのチャネル番号が変わってしまいますね。
そこらへんも修正する必要がありますね

投稿2018/10/15 02:36

編集2018/10/15 02:38
y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問