ハードウェア
PHYTECミイラボードそしてMX6プロセッサ
オペレーティングシステム
PHYTECが提供するBSPを使用して作成されたYoctoイメージ源泉中には最小のバッグが入っています。
このボードにはUARTボードがあります。シリアルポート3オペレーティングシステム内のソフトウェアインタフェースは次のとおりです。/dev/ttymxc2
ハードウェアマニュアル。ボードのシリアルポートを確認/設定するために使用できる唯一の方法はですstty
。
仕事
つなげたいです。Adafruit Ultimate GPS到着シリアルポート3Mira Boardの情報を読んでください。
1回試してください
両方のコンポーネントを次のように接続しました。
UART3_RXD_RS232 (MIRA) --> TX pin (GPS)
UART3_TXD_RS232 (MIRA) --> RX pin (GPS)
次のようにシリアルポートを設定します。
stty -F /dev/ttymxc2 speed 9600
読み取った値:
cat /dev/ttymxc2
結果:ジャンク値。可能なすべての設定を試しましたが、まだゴミの値が表示されます。node
ポートから情報を読み取ろうとする簡単なスクリプトを作成しましたが、文字が認識されないというエラー(ガーベッジ値)が発生しました。
2回試してください
最初は、GPSから値を取得するために単純なArduino NanoにGPSを接続しようとしましたが、動作してGPSが情報を送信していて欠陥が発生していないことを確認しました。
私はMiraとArduinoのシリアルポートを接続し、Miraの情報をArduinoのシリアルポートに転送し、シリアルコンソールから読み取ろうとしました。
設定
MIRA_Board (serial UART3) ---> Arduino Nano (Serial Pins) --USBCable--> Computer
足
UART3_RXD_RS232 (MIRA) --> RX PIN NANO
UART3_TXD_RS232 (MIRA) --> TX PIN NANO
SSH経由でMiraボードにログインします。 Arduinoを介してコンピュータのシリアルコンソールで同じ値を期待して、次のコマンドを実行します。
echo 'hello' > /dev/ttymxc2
構成は/dev/ttymxc2
次のとおりです
stty -F /dev/ttymxc2 -a
speed 9600 baud;stty: /dev/ttymxc2 line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 hupcl -cstopb cread clocal –crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
この問題がシリアル設定の不一致によって発生した場合を使用して問題を解決するにはどうすればよいですかstty
?
ポリスチレン:GPS転送速度は9600
次のようになります。
答え1
MiraボードでUART1またはUART2を試すことができます。マニュアルによると、TTLレベル信号を使用しています。 GPSモジュールは3Vを出力しますが、入力は5Vに許容されます。 +3VはTTL入力で「1」と解釈するのに十分です。 RS-232信号は、RS-232が空間状態に対して+3..+12V、-3..-15V(例:減らす15V) 表示状態です。