[[FrontPage]]

*概要 [#p5a06b8b]
-通信
--旗振り通信
--シリアル通信
--I2C通信
---[[3台のArduino通信>http://shirotsuku.sakura.ne.jp/blog/?p=710]]
--CAN
--etherCAN
-[[カップリング>https://www.nbk1560.com/products/coupling/couplicon/service/about/]]
--ミスアラインメントを吸収する


*I2C [#a6b2cb3b]
Masterにはないが,slaveにはアドレスというものが存在してそれぞれを識別できる
データの流れは双方向。
[[マスターからスレーブに送る場合>http://qiita.com/MergeCells/items/20c3c1a0adfb222a19cd]] は、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 [#pf001f5e]
-双方向通信
--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を独立制御できる。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS