|
@@ -15,6 +15,7 @@ CWinApp theApp;
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
+extern VOID _dprintf(CHAR* pszStr, ...);
|
|
|
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
|
|
|
{
|
|
|
int nRetCode = 0;
|
|
@@ -29,6 +30,34 @@ int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
|
|
|
else
|
|
|
{
|
|
|
// TODO: 在此处为应用程序的行为编写代码。
|
|
|
+#if 1
|
|
|
+ CBaseSerial sb(0);
|
|
|
+ if ( sb.Open(23, _T("baud=115200 parity=N data=8 stop=1") ) )
|
|
|
+ {
|
|
|
+ sb.SetTimeouts();
|
|
|
+ std::vector<CommandParam> vtCommandParams;
|
|
|
+ parse_cmd_param_from_file("F:\\source\\scbc_repos\\Serail-Demo\\Demo\\command.data", vtCommandParams);
|
|
|
+ for ( std::vector<CommandParam>::iterator it = vtCommandParams.begin(); it != vtCommandParams.end(); it++ )
|
|
|
+ {
|
|
|
+ if ( !_tcsicmp(it->name.c_str(), _T("LeaveFactory")) )
|
|
|
+ break;
|
|
|
+ byte szData[1024] = {0};
|
|
|
+ std::string cmd = PackingCommand(*it, _T(""), 0);
|
|
|
+ //sb.Read(szData, 1024, 100);
|
|
|
+ if ( sb.WriteSync((void*)cmd.c_str(), cmd.size()) )
|
|
|
+ {
|
|
|
+ Sleep(it->read_wait_time);
|
|
|
+ int c = sb.ReadSync(szData, 1024);
|
|
|
+ std::string str = BytesToHexString(szData, c, ' ');
|
|
|
+ _dprintf("结果:%s", str.c_str());
|
|
|
+
|
|
|
+ Sleep(it->cmd_wait_time);
|
|
|
+ }
|
|
|
+
|
|
|
+ sb.ClearCommBuffer();
|
|
|
+ }
|
|
|
+ }
|
|
|
+#else
|
|
|
CBaseSerial sb;
|
|
|
if ( sb.Open(23, _T("baud=115200 parity=N data=8 stop=1") ) )
|
|
|
{
|
|
@@ -37,20 +66,25 @@ int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
|
|
|
parse_cmd_param_from_file("F:\\source\\scbc_repos\\Serail-Demo\\Demo\\command.data", vtCommandParams);
|
|
|
for ( std::vector<CommandParam>::iterator it = vtCommandParams.begin(); it != vtCommandParams.end(); it++ )
|
|
|
{
|
|
|
+ if ( !_tcsicmp(it->name.c_str(), _T("LeaveFactory")) )
|
|
|
+ break;
|
|
|
byte szData[1024] = {0};
|
|
|
std::string cmd = PackingCommand(*it, _T(""), 0);
|
|
|
//sb.Read(szData, 1024, 100);
|
|
|
if ( sb.Write((void*)cmd.c_str(), cmd.size()) )
|
|
|
{
|
|
|
Sleep(it->read_wait_time);
|
|
|
- int c = sb.Read(szData, 1024);
|
|
|
+ int c = sb.Read(szData, 1024, 200);
|
|
|
+ std::string str = BytesToHexString(szData, c, ' ');
|
|
|
+ _dprintf("结果:%s", str.c_str());
|
|
|
|
|
|
- int a = 0;
|
|
|
+ Sleep(it->cmd_wait_time);
|
|
|
}
|
|
|
+
|
|
|
+ sb.ClearCommBuffer();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+#endif
|
|
|
system("pause");
|
|
|
}
|
|
|
|