概要
- 通信
- 旗振り通信
- シリアル通信
- I2C通信
- CAN
- etherCAN
- カップリング
- ミスアラインメントを吸収する
I2C
Masterにはないが,slaveにはアドレスというものが存在してそれぞれを識別できる データの流れは双方向。 マスターからスレーブに送る場合 は、startTransmitionでどいつに送るかを指定する。 Arduinoでは、wire.startの引数がないものがマスターと決まっている。 Arduinoでは、slaveには二つのコールバック関数があって、requestとreceiveがある。slave->masterのデータの流れの場合にはrequest, master->slaveの場合にはreceive。受信の時>http://orangeliner.net/blog/arduino_i2c_multibyte.html http://www.nikkan.co.jp/articles/view/00404807?twinews=20161028 要するに、master, slaveとread, writeでごとに2x2の表ができる。
Serial
- 双方向通信
- RX-TXをつなぎ、TX-RXをつなぐ
- TransferとReceive
- FT232モジュール
- USBをシリアル通信にする
- USB-シリアル通信のやりとり。要するにパソコンのデバイスファイルの読み書きでシリアル通信ができる。
- UART=FT232(電気的にちょっと違うけど)
- UARTもともと7, 8, 9bit、昔は7だった
- USBはパソコンから1つのデバイスファイルとして見れるので、それからreadしたりそれにwriteすると、FT232を介した先でrx, txが動く。
- ボーレートはOSでごにょごにょする
- bitbangモードという裏ワザみたいなのを使うと、パソコンから10bitくらいのpioを独立制御できる。