请问我这样保存数据为什么打开文件查看时是乱码啊? 点击:865 | 回复:2



IxinFY_1111

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 6回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2004年4月08日
发表于:2004-04-29 14:43:00
楼主
static int icount=0; // reads analog input channel ptMAIVoltageIn.NumChan = 5; ptMAIVoltageIn.StartChan = usStartChan; for (i=0 ; i< ptMAIVoltageIn.NumChan ; i++) usGainCode[i+usStartChan] = DevFeatures.glGainList[usGainIndex[i+usStartChan]].usGainCde; ptMAIVoltageIn.GainArray = (USHORT far *) &usGainCode[usStartChan]; ptMAIVoltageIn.TrigMode = 0; // internal trigger ptMAIVoltageIn.VoltageArray = (FLOAT far *)&fVoltage[usStartChan]; if ((ErrCde = DRV_MAIVoltageIn(DriverHandle, (LPT_MAIVoltageIn)&ptMAIVoltageIn)) != 0) { DRV_GetErrorMessage(ErrCde,(LPSTR)szErrMsg); MessageBox("voltage input failure!", MB_OK); KillTimer(1); DRV_DeviceClose((LONG far *)&DriverHandle); } // Display Data m_sensor1=fVoltage[usStartChan]; m_sensor2=fVoltage[usStartChan+1]; m_sensor3=fVoltage[usStartChan+2]; m_sensor4=fVoltage[usStartChan+3]; m_sensor5=fVoltage[usStartChan+4]; UpdateData(false); //control times icount++; if(icount==10) KillTimer(1); //save data FILE *fp; fp=fopen("d:\\sensor.txt","a+t"); for(int m=0;m<5;m++) fwrite(fVoltage,sizeof(float),5,fp); fclose(fp); 请问保存到文本文件里的数据为什么是乱码啊??多谢指教! 再就是用DMA方式编的程序为什么一点开始采集数据按钮程序就死锁啊?就是程序处于忙状态,没有反应。



GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2004-04-29 16:44:00
1楼
因为您是将 floating type data (4 bytes) 写入 file, 而不是将文字写入 file. 若您要看到文字, 就必须先将 data 转成文字的形式先. sprintf(...);

TOMip

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 27回
  • 年度积分:0
  • 历史总积分:39
  • 注册:2002年9月14日
发表于:2004-05-07 11:49:00
2楼
我想要一份免费的OMRON的CX-programmer2.1编程软件安装光盘,以便在一项大型科研项目中使用,谢谢!   motiontop@yahoo.com.cn TEL:0938-3397901

热门招聘
相关主题

官方公众号

智造工程师