DebianでCスクリプトを使用してDTRを高く設定するには?

DebianでCスクリプトを使用してDTRを高く設定するには?

Debian、Linuxで動作するHMIを購入しました。 HMIには、私が動作させたいシリアルポートがあります。私のプロジェクトには、数秒間DTRを高く設定して解決された特定の問題がありました。次のスクリプトを試しました。

#!/bin/bash
MySerialPort="/dev/ttyS0"
MyLatency="2"
echo "#include <fcntl.h>
#include <sys/ioctl.h>
main()
{ int fd; fd = open(\"${MySerialPort}\",O_RDWR | O_NOCTTY );
int RTS_flag; RTS_flag = TIOCM_RTS;
ioctl(fd,TIOCMBIS,&RTS_flag);
sleep (${MyLatency});
ioctl(fd,TIOCMBIC,&RTS_flag);
close(fd); } "

しかし、これはうまくいかず、次のエラーが発生しました。

ここに画像の説明を入力してください。

私がすでに試したスクリプトを修正したり、他のスクリプトを作成する方法についてのヒントを与えることができる人はいますか?

修正する

ここに画像の説明を入力してください。

アップデート2

スクリプト:

ここに画像の説明を入力してください。

分析スクリプト:

ここに画像の説明を入力してください。

申し訳ありません。イメージです。仮想マシンからコピーできないからです。

よろしくお願いします!

ベストアンサー1

シェルスクリプトとCプログラムを混同しているようです。 「Cスクリプト」という概念は実際には存在しません。スクリプトが実行するすべての作業は、Cソースコード(つまり、#includeCPP起動コマンドから関数の閉じ括弧までのすべてmain)をコンソールに印刷することです。

エラーメッセージは、シェルスクリプトをコンパイルしようとしているのと少し似ています。

代わりにやるべきことは、Cコードをコンパイルして結果のバイナリを実行することです。

おすすめ記事