はじめまして!
自分は学生で、mbedを使った回路制作をしています。 今はSPI通信を使ってLPS331APという気圧計の制御をしようとしていますが、 レジスタ(WHO_AM_Iを読み込めました)の読み込みは可能なのですが、 どうやってもレジスタに書き込むことができません。 どうか、助言をお願い致します。
http://mbed.org/users/okini3939/notebook/SPI_jp/ このページを参考にし、 SPIフォーマット設定、SPI周波数設定については問題ないと思うのですが、 spi.writeを使ったレジスト書き込みを取り扱ってるサイトがなく、まさに八方ふさがりです・・・。
以下に、自分が作成したプログラムを記載します。
- include "mbed.h"
SPI spi(p5, p6, p7); mosi, miso, sclk
DigitalOut cs(p8);
Serial pc(USBTX, USBRX); tx, rx
int main() {
spi.format(16,2);
spi.frequency(10000);
cs = 0;
spi.write(0x2090);
wait_ms(10);
spi.write(0x20);
int whoami = spi.write(0xff);
pc.printf("WHOAMI register = 0x%X\n", whoami);
cs = 1;
}
どうか、よろしくお願い致します。
追記:タイトルですが、「レジスト」でなく「レジスタ」でした。申し訳ないです
はじめまして!
自分は学生で、mbedを使った回路制作をしています。 今はSPI通信を使ってLPS331APという気圧計の制御をしようとしていますが、 レジスタ(WHO_AM_Iを読み込めました)の読み込みは可能なのですが、 どうやってもレジスタに書き込むことができません。 どうか、助言をお願い致します。
http://mbed.org/users/okini3939/notebook/SPI_jp/ このページを参考にし、 SPIフォーマット設定、SPI周波数設定については問題ないと思うのですが、 spi.writeを使ったレジスト書き込みを取り扱ってるサイトがなく、まさに八方ふさがりです・・・。
以下に、自分が作成したプログラムを記載します。
SPI spi(p5, p6, p7); mosi, miso, sclk DigitalOut cs(p8);
Serial pc(USBTX, USBRX); tx, rx
int main() { spi.format(16,2); spi.frequency(10000);
cs = 0; spi.write(0x2090);
wait_ms(10);
spi.write(0x20); int whoami = spi.write(0xff); pc.printf("WHOAMI register = 0x%X\n", whoami);
cs = 1; } どうか、よろしくお願い致します。
追記:タイトルですが、「レジスト」でなく「レジスタ」でした。申し訳ないです