組み込みシステム(Yocto環境のSTM32MP1)でrs485トランシーバを制御する必要があります。残念ながら、DE
トランシーバピンは内蔵のDE/RTS
代替機能ピンではなく、MPUの通常のGPIOピンに接続されています。
これは、転送中にこのピンを手動で制御する必要があることを意味します。もちろんこれは簡単ではありません。特にリモートデバイスが非常に迅速に応答する場合は、さらにそうです!
Linuxでrs485を使用する方法についていくつかのリソースを読みました。たとえば、次のようになります。
https://armbedded.taskit.de/node/322
DE
しかし、この機能にどのピンを割り当てるべきかをどのように指定するのかわかりません。また、ここでカーネルソースコードを確認しました。
https://docs.huihoo.com/doxygen/linux/kernel/3.7/include_2uapi_2linux_2serial_8h_source.html
しかし、struct serial_rs485
まだピン定義が不足しているようですDE
。おそらく彼らはその信号を使いたいと思うでしょうRTS
。しかし、私が言ったように、私はそれを使用することはできません。特定のGPIOを選択する必要があります。