質問編集履歴

2

追加

2022/03/13 06:06

投稿

Billiecharlie
Billiecharlie

スコア55

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,5 @@
1
1
  https://www.denshi.club/parts/2021/04/raspberry-pi-pico-12-spi-apia-dmcp.html
2
- を見て、下記のC言語プログラムをRaspberry Pi Picoに書き込んだら、MCP3008とSPI通信が出来たようなのですが、このプログラムは、3バイト、ダミーデータをMCP3008に書きこんで、MCP3008からRaspberry Pi Picoに返ってきた値3バイトをbufferに格納して、2バイト目のbufferと8ビット符号なし00000011の論理積を8ビット左にシフトした値と3バイト目のbufferの論理和に3.2562をかけて1024で割るみたいなことをしているのですか?
2
+ を見て、下記のC言語プログラムをRaspberry Pi Picoに書き込んだら、MCP3008とSPI通信が出来たようなのですが、このプログラムは、GP5をLowにしてから、GP3から3バイト、ダミーデータをMCP3008に書きこんで、MCP3008からRaspberry Pi Picoに返ってきた値3バイトをbufferに格納して、2バイト目のbufferと8ビット符号なし00000011の論理積を8ビット左にシフトした値と3バイト目のbufferの論理和に3.2562をかけて1024で割るみたいなことをしているのですか?
3
3
   例えば、2バイト目のbufferが00100010で3バイト目のbufferが00101100だったら、00100010と00000011の論理積で00000010となり、00000010を8ビット左にシフトすると、00000000となり、00000000と00101100の論理和が44となり、44*3.2562/1024で0.13991484375になるということですか?
4
4
  また、SPIのボーレートが2MHzとなっているのは、サンプル期間が終了してから10データビットがすべてクロック出力されるまでの時間が1.2 msを超えてはならないとMCP3008の仕様書に書いてあるからでしょうか?SPIのボーレートは1kHz以上ならどんな値でも大丈夫でしょうか?
5
5
   

1

追加

2022/03/13 05:59

投稿

Billiecharlie
Billiecharlie

スコア55

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  https://www.denshi.club/parts/2021/04/raspberry-pi-pico-12-spi-apia-dmcp.html
2
2
  を見て、下記のC言語プログラムをRaspberry Pi Picoに書き込んだら、MCP3008とSPI通信が出来たようなのですが、このプログラムは、3バイト、ダミーデータをMCP3008に書きこんで、MCP3008からRaspberry Pi Picoに返ってきた値3バイトをbufferに格納して、2バイト目のbufferと8ビット符号なし00000011の論理積を8ビット左にシフトした値と3バイト目のbufferの論理和に3.2562をかけて1024で割るみたいなことをしているのですか?
3
3
   例えば、2バイト目のbufferが00100010で3バイト目のbufferが00101100だったら、00100010と00000011の論理積で00000010となり、00000010を8ビット左にシフトすると、00000000となり、00000000と00101100の論理和が44となり、44*3.2562/1024で0.13991484375になるということですか?
4
+ また、SPIのボーレートが2MHzとなっているのは、サンプル期間が終了してから10データビットがすべてクロック出力されるまでの時間が1.2 msを超えてはならないとMCP3008の仕様書に書いてあるからでしょうか?SPIのボーレートは1kHz以上ならどんな値でも大丈夫でしょうか?
5
+  
4
6
 
5
7
  ```
6
8
  #include <stdio.h>