• 締切済み

ADボードにとるCSVでの無限サンプリング

ADボードで無限サンプリングをおこないたいのですが。 作成したCSVファイルにデータが1行しか作成されません。 何が問題でしょうか? ちなみにプログラムはこちらです。 int nRet; HANDLE hDeviceHandle; ADSMPLREQ SmplConfig; ADBOARDSPEC BoardSpec; ULONG ulSmplNum; FILE *outp; WORD wSmplData[20000][2]; hDeviceHandle = AdOpen ("FBIAD1"); if (hDeviceHandle == INVALID_HANDLE_VALUE){ AfxMessageBox("デバイスのオープンに失敗しました",MB_OK, 0); return; } else{ nRet = AdGetSamplingConfig(hDeviceHandle,&SmplConfig); if(nRet != AD_ERROR_SUCCESS){ AfxMessageBox("サンプリング設定情報の読み出しに失敗しました",MB_OK, 0); } nRet = AdGetDeviceInfo(hDeviceHandle, &BoardSpec ); if(nRet !=AD_ERROR_SUCCESS){ AfxMessageBox("デバイスの情報取得にに失敗しました", MB_OK, 0); } { SmplConfig.SmplChReq[0]. ulChNo = 2; SmplConfig.ulSmplNum = 20000; SmplConfig.ulTrigMode = AD_ETERNITY; SmplConfig.fSmplFreq = 20000; SmplConfig.SmplChReq[0]. ulRange = AD_5V; nRet = AdSetSamplingConfig(hDeviceHandle,&SmplConfig ); if(nRet != AD_ERROR_SUCCESS){ AfxMessageBox("サンプリング条件設定に失敗しました",MB_OK, 0); } /* nRet = AdStartSampling(hDeviceHandle, FLAG_SYNC); if(nRet != AD_ERROR_SUCCESS){ AfxMessageBox("CSVファイル作成に失敗しました", MB_OK, 0); }*/ /* nRet = AdStartFileSampling( hDeviceHandle, "DATA.CSV", FLAG_CSV ); if(nRet != AD_ERROR_SUCCESS){ AfxMessageBox("CSV ファイル作成に失敗しました", MB_OK, 0); }*/ AdGetSamplingData(hDeviceHandle,&wSmplData[0][0], &ulSmplNum ); AdOutputDO(hDeviceHandle,1); outp = fopen("E:\\Edata\\record.csv","a"); fprintf(outp,"%f\n",wSmplData[0][0]); fclose(outp); // 終了処理. nRet = AdClose( hDeviceHandle ); if (nRet != AD_ERROR_SUCCESS) { AfxMessageBox("デバイスのクローズに失敗しました"); } } } }

みんなの回答

  • TT414
  • ベストアンサー率18% (72/384)
回答No.2

>作成したCSVファイルにデータが1行しか作成されません。 >何が問題でしょうか? >WORD wSmplData[20000][2]; wSmplDataは20000×2こWORDの値があります。 >outp = fopen("E:\\Edata\\record.csv","a"); >fprintf(outp,"%f\n",wSmplData[0][0]); >fclose(outp); wSmplData[0][0]を一個しか出力していません、残りの39999個は出力されていません。 >fprintf(outp,"%f\n",wSmplData[0][0]); WORDの値を%fでは出力できません。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

うぅ~ん, ちゃんと足元を固めた方がいいと思うんだけどなぁ.... このプログラムで「1行しか作成されない」のは当然. だって, 「1行しか出力していない」んだもの.

関連するQ&A