void CUSBExampleDlg::OnBnClickedButtonVimLoad()
{
// TODO: Add your control notification handler code here
// 设置过滤器
TCHAR szFilter[] = _T("升级文件(*.txt)|*.txt|所有文件(*.*)|*.*||");
// 构造打开文件对话框
CFileDialog fileDlg(TRUE, _T("txt"), NULL, 0, szFilter, this);
CString strFilePath;
// 显示打开文件对话框
if (IDOK == fileDlg.DoModal())
{
strFilePath = fileDlg.GetPathName();
SetDlgItemText(IDC_STATIC_loadfile,strFilePath);
char *p = new char[MAX_PATH];
p = strFilePath.GetBuffer(strFilePath.GetLength());
MAX_VIM_DATA_PION = 600;
int ret = 0;
MOTO_VIM_WRITE_FILE(p,MAX_VIM_DATA_PION,1);
if(ret == 1)
{
printf("\r\n transmission OK",ret);
}
}
}
int MOTO_VIM_WRITE_FILE(char* fileName, int nDataNum, int clockCycle)
{
CFile mFile;
unsigned short int i,j;
int ret = -1;
unsigned int CRC_DATA;
CString strFilePath;
unsigned short int data_temp,vim_date_num;
strcpy(strFilePath.GetBuffer(100),fileName);
printf("%s\r\n",strFilePath);
mFile.Open( strFilePath, CFile::modeRead);
unsigned long long my_file_len = mFile.GetLength();
TCHAR szError[4096];
mFile.Read(szError,my_file_len);//my_file_len);
printf("file_len:%d\r\n",my_file_len);
vim_date_num = 0;
for( i = 0;i<my_file_len;i++)
{
data_temp = 0;
for(j = 0;j<5;j++)
{
if(((szError[i+j] !=' ' )||(szError[i+j] !=0x09 ))&&(szError[i+j] >='0' )&&(szError[i+j] <='9' ))
{
data_temp =data_temp*10 + szError[i+j]-'0';
VIM_DATA[vim_date_num] = data_temp;
}
else if((szError[i+j] == ' ')||(szError[i+j] =0x09 ))
{
//printf("data_temp = %d\r\n",data_temp);
vim_date_num++;
break;
}
else if(vim_date_num == nDataNum-1)
{
vim_date_num++;
break;
}
}
i = i+j;
}
printf("\r\ntotle=%d\r\n 解析到的数据:\n",vim_date_num);
for(i = 0;i<vim_date_num;i++)
{
printf("%d ",VIM_DATA[i]);
if(!((i+1)%20))
printf("\n");
}
printf("\r\nend-------------------->>>>>>>>");
mFile.Close();
return ret;
}