ここから本文です
ブログを始めました・・・

書庫全体表示

同じ日に2度書くと言うことは訂正があるからです。
結論から申しますと普通ユーザーにし優先順位を上から2番目の
 HIGH_PRIORITY_CLASS にしてもデータの取り零しは発生しません
でした。取り零しの原因は受信処理ループにある下の三行でした。
printf は結構なリソース食いで速度の足を引っ張ります。

for (i = 0; i < (int)dwRead; i++)
printf("%02X", buf[i]);
   
printf("\n");

デバッグ用のコードでバグを発生させてるとはトンマで、すみません。

HIGH_PRIORITY_CLASS の設定は下を参考に適切な位置に入れて下さい。
なお製作29のコードでも動きましたけど以前のコードも動きました。
危うくコードを複雑して失敗する寸前でした。確かにwindowsとLinux用
ではドライバで大きな違いはなく(多少はLinuxが使い易いですけど)
実行してるパソコンの速度(性能)が大きく影響してました。

if (COMPORT == -1){

printf("no com port installed \n");
}

else{
printf("com port number is %d\n", COMPORT);

}


HANDLE hProcess;

hProcess = GetCurrentProcess();
if (SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS))
printf("SetPriorityClass: Success\n");
else 
printf("SetPriorityClass: Error\n");

shuji_akita2001
shuji_akita2001
男性 / O型
人気度
Yahoo!ブログヘルプ - ブログ人気度について
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

最新のコメント最新のコメント

すべて表示

Yahoo!からのお知らせ

よしもとブログランキング

もっと見る
本文はここまでですこのページの先頭へ

[PR]お得情報

数量限定!イオンおまとめ企画
「無料お試しクーポン」か
「値引きクーポン」が必ず当たる!
ふるさと納税サイト『さとふる』
11/30まで5周年記念キャンペーン中!
Amazonギフト券1000円分当たる!

その他のキャンペーン

みんなの更新記事