[解決済み] write() return errno 14 why?
2022-02-16 14:12:56
質問
私は
unsigned int DataBAR
を送信したい。
char
をシリアルポートに送信してください。
私のコードは
unsigned char Printer_buffer[PRN_BUFFER_SIZE];
unsigned int DataBAR, DataD, DataT;
for (i = 0; i < 8; i++) {
SumaN = SumaN + (Printer_buffer[i] & 0x0F);
DataBAR = (Printer_buffer[i] & 0x0F) + 0x30;
nbytes = write(fd,DataBAR ,1); //want to send to the serial port
printf("write error code is %d !!!!!!!!!\n", errno);
if (nbytes != 1) {
printf("error writing on serial port!!!\n");
}
sleep(1);
SumaP = SumaP + ((Printer_buffer[i] >> 4) & 0x0F);
DataBAR = ((Printer_buffer[i] >> 4) & 0x0F) + 0x30;
nbytes = write(fd, DataBAR, 1);
printf("write error code is %d !!!!!!!!!\n", errno);
if (nbytes != 1) {
printf("error writing on serial port!!!\n");
}
sleep(1);
}
write
リターン
errno=14
この問題を解決するにはどうしたらよいでしょうか?
C言語でpic18fを使用して、私はこのコードを使用し、それは動作しています。
for (i=0;i<8;i++){
SumaN=SumaN+(Printer_buffer[i] & 0x0F);
DataBAR=(Printer_buffer[i] & 0x0F) + 0x30;
while(BusyUART1());
putcUART1(DataBAR);
SumaP=SumaP+((Printer_buffer[i]>>4) & 0x0F);
DataBAR=((Printer_buffer[i]>>4) & 0x0F) + 0x30;
while(BusyUART1());
putcUART1(DataBAR);
}
私は今この中にいます、そしてあなたの助けに感謝します!!!
解決方法は?
write()
は
int write( int fd, void *buf, int n )
ということで、2番目のパラメータに整数を渡してはいけません。おそらく
unistd.h
そうでなければ、あなたのコードはコンパイルさえできないはずです。代わりに
マニュアルページ
を呼び出し
write( fd, &DataBAR, 1 )
ただし、この方法で最上位バイトを書き込むか最下位バイトを書き込むかは、システムのエンディアンに依存することに注意してください。それよりも
DataBAR
をcharとする(または値をcharの
c
を使用し
&c
で
write()
)
関連
-
[解決済み】ENOENTが「そのようなファイルやディレクトリはありません」という意味であるのはなぜですか?
-
[解決済み】C言語におけるファイルスコープでの可変長配列の変更
-
[解決済み】警告。この関数ではXが初期化されていない状態で使用される可能性があります。
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み】Linuxでexeclp()がどのように動作するのか理解できません。
-
[解決済み】0LLや0x0ULの意味は何ですか?
-
[解決済み】C言語のフォーマット文字列でデータ引数が使用されない [重複]。
-
[解決済み】c - 警告:関数 'printf'の暗黙の宣言
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:'for'ループの初期宣言はC99モードでしかできない【重複
-
[解決済み】 strcpyとstrdupの比較
-
[解決済み】エラー:イニシャライザー要素がロード時に計算可能でない
-
[解決済み】Cygwin - Makefile-error: ターゲット `main.o' のレシピに失敗しました。
-
[解決済み】サイズ8の無効な読み取り - Valgrind + C
-
[解決済み】malloc():メモリ破壊
-
[解決済み】MPI通信でMPI_Bcastを使用する場合
-
[解決済み】Makefile:1: ***セパレータがありません。停止します。
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み】c - 警告:関数 'printf'の暗黙の宣言