回答編集履歴
3
追記修正
answer
CHANGED
@@ -53,7 +53,7 @@
|
|
53
53
|
|
54
54
|
`((SGL_DIFF << 3) | ((D2<<2) | (D1 << 1) | D0) ) << 4`
|
55
55
|
|
56
|
-
SGL_DIFF = 1
|
56
|
+
- `SGL_DIFF = 1`
|
57
|
-
((D2<<2) | (D1 << 1) | D0) => Channel番号
|
57
|
+
- `((D2<<2) | (D1 << 1) | D0)` => Channel番号
|
58
58
|
|
59
59
|
で、どうでしょう? データシートの図と見比べてみてください
|
2
説明追記
answer
CHANGED
@@ -44,4 +44,16 @@
|
|
44
44
|
|
45
45
|
> ・8+channelとは何なのか、なぜ4bitシフトさせるのか
|
46
46
|
|
47
|
-
↑で説明したとおり、MCP3008の通信仕様、ですね。
|
47
|
+
↑で説明したとおり、MCP3008の通信仕様、ですね。
|
48
|
+
|
49
|
+
|
50
|
+
---
|
51
|
+
追記:
|
52
|
+
XxkanakoxXさん、
|
53
|
+
|
54
|
+
`((SGL_DIFF << 3) | ((D2<<2) | (D1 << 1) | D0) ) << 4`
|
55
|
+
|
56
|
+
SGL_DIFF = 1
|
57
|
+
((D2<<2) | (D1 << 1) | D0) => Channel番号
|
58
|
+
|
59
|
+
で、どうでしょう? データシートの図と見比べてみてください
|
1
修正
answer
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
なので、(( (1<<3) + Ch ) << 4) が、2バイトの入力. [ (1<<3) => 8 です。 ]
|
20
20
|
- 3バイト目: MCPからの出力を受け取るだけなので、0 としています。(これをいれないと、SCLKが作られないので.)
|
21
21
|
|
22
|
-
同様に、D_OUT側ですが、2バイト目の
|
22
|
+
同様に、D_OUT側ですが、2バイト目の下位2ビットと、3バイト目で、10ビットのデータになる、とのことで、 ((adc[1] & 3) << 8) + adc[2]) となります。
|
23
23
|
|
24
24
|
|
25
25
|
その次、pythonの[spidev](https://github.com/doceme/py-spidev)をみます。下の方にChip-Selectの制御の違いがかいてありますね。
|