SPI

Nucleo mbedのSPI

ee9king に投稿

いまさら?、初めて知ったんですが、mbedのNucleoでSPIを宣言するとき、MISOをNCにするとプログラムが全く動かなくなる。

SPI name(mosi, miso, sclk);

マスタ側の宣言でデータ送信しかしないとき、例えばHC595にデータを送るようなとき、MISOを使わないのでLATなどに割り振ってmisoにNCを入れて宣言すると、プログラムが動かない。下記例、FRDM-K64ではこれは動く

SPI spi(PTD2,NC,PTD1);
DigitalOut Latch(PTD3);

Nucleoの場合、miso部分に使わないがmiso端子を割り当てる必要があるということが分かった

そんなことより、はやくmbed-ceを使えるようにしないと・・・

 

 

Nucleo SPI CLK

ee9king に投稿

Nucleo(F411RE)のSPIクロックが想定通りにならなかった。2MHzで1.5MHzs、1.5MHzで750KHz・・・。半分というとそうでもない。。。

コミュニティーで答えをもらったのだが、結論としては、データシートをよく読みなさいということだと思われます。mbedで遊んでいると、ターゲットを変えるだけで普通に動いてhしまうため、そこがどうしても、気づかなくなってしまう。それに、KL25の時はあまり気にせずほとんどがその通りに動いていた。(実際、今回の件もあり確認したが細かく設定できる)

printf(“SystemClock=%d[Hz]\r\n”, SystemCoreClock);

クロック出力できるとのことでmNucleo-F411では内蔵発振、外部水晶時ともに、96MHzと出力される。

Nuleo-F411では、SPIクロックソースは内部クロックの分周を利用するがその設定が3ビットしかないとのことである。データシート