本文整理汇总了C++中Serial::puts方法的典型用法代码示例。如果您正苦于以下问题:C++ Serial::puts方法的具体用法?C++ Serial::puts怎么用?C++ Serial::puts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Serial
的用法示例。
在下文中一共展示了Serial::puts方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: at_dnsresolve_wnc
int at_dnsresolve_wnc(const char * s, string * ipStr)
{
string * pRespStr;
string str(s);
str = "[email protected]=\"" + str;
str += "\"\r\n";
if (send_wnc_cmd(str.data(), &pRespStr, WNC_TIMEOUT_MS) == 0)
{
size_t pos_start = pRespStr->find(":\"") + 2;
if (pos_start != string::npos)
{
size_t pos_end = pRespStr->rfind("\"") - 1;
if (pos_end != string::npos)
{
if (pos_end > pos_start)
{
// Make a copy for use later (the source string is re-used)
*ipStr = pRespStr->substr(pos_start, pos_end - pos_start + 1);
return 1;
}
else
pc.puts("URL Resolve fail, substr Err\r\n");
}
else
pc.puts("URL Resolve fail, no 2nd quote\r\n");
}
else
pc.puts("URL Resolve fail, no quotes\r\n");
}
else
pc.puts("URL Resolve fail, WNC cmd fail\r\n");
return -1;
}
示例2: send_wnc_cmd
// Sets a global with failure or success, assumes 1 thread all the time
int send_wnc_cmd(const char * s, string ** r, int ms_timeout)
{
static const char * rsp_lst[] = { "OK", "ERROR", NULL };
int len;
pc.printf("Send: %s\r\n",s);
int res = mdm_sendAtCmdRsp(s, rsp_lst, ms_timeout, &wncStr, &len);
*r = &wncStr; // Return a pointer to the static string
if (res >= 0)
{
pc.puts("[");
pc.puts(wncStr.data());
pc.puts("]\n\r");
if (res > 0)
{
if (WNC_MDM_ERR != WNC_NO_RESPONSE)
WNC_MDM_ERR = WNC_CMD_ERR;
return -1;
}
else
return 0;
}
else
{
WNC_MDM_ERR = WNC_NO_RESPONSE;
pc.puts("No response from WNC!\n\r");
return -2;
}
}
示例3: sockwrite_mdm
void sockwrite_mdm(const char * s)
{
if (socketOpen == 1)
{
do
{
WNC_MDM_ERR = WNC_OK;
at_sockwrite_wnc(s);
if (WNC_MDM_ERR == WNC_NO_RESPONSE)
{
reinitialize_mdm();
software_init_mdm();
}
else if (WNC_MDM_ERR == WNC_CMD_ERR)
{
pc.puts("Socket Write fail!!!\r\n");
// Have seen when write fails modem gets stuck in bad state, try to recover
reinitialize_mdm();
software_init_mdm();
}
} while (WNC_MDM_ERR != WNC_OK);
}
else
puts("Socket is closed for write!\r\n");
}
示例4: at_sockwrite_wnc
void at_sockwrite_wnc(const char * s)
{
string * pRespStr;
char num2str[6];
size_t sLen = strlen(s);
if (sLen <= 99999)
{
string cmd_str("[email protected]=1,");
itoa(sLen, num2str, 10);
cmd_str += num2str;
cmd_str += ",\"";
while(*s != '\0')
{
itoa((int)*s++, num2str, 16);
// Always 2-digit ascii hex:
if (strlen(num2str) == 1)
{
num2str[2] = '\0';
num2str[1] = num2str[0];
num2str[0] = '0';
}
cmd_str += num2str;
}
cmd_str += "\"";
send_wnc_cmd(cmd_str.data(), &pRespStr, WNC_TIMEOUT_MS);
}
else
pc.puts("sockwrite Err, string to long\r\n");
}
示例5: sockopen_mdm
void sockopen_mdm(void)
{
do
{
at_at_wnc();
at_at_wnc();
WNC_MDM_ERR = WNC_OK;
at_sockopen_wnc(MyServerIpAddress, MY_PORT_STR);
if (WNC_MDM_ERR == WNC_NO_RESPONSE)
{
reinitialize_mdm();
software_init_mdm();
}
else if (WNC_MDM_ERR == WNC_CMD_ERR)
pc.puts("Socket open fail!!!!\r\n");
else
socketOpen = 1;
} while (WNC_MDM_ERR != WNC_OK);
}
示例6: at_sockread_wnc
unsigned at_sockread_wnc(string * pS, unsigned n, unsigned retries = 0)
{
unsigned i;
string * pRespStr;
string cmd_str("[email protected]=1,");
if (n <= 1500)
{
char num2str[6];
itoa(n, num2str, 10);
cmd_str += num2str;
retries += 1;
while (retries--)
{
// Assuming someone is sending then calling this to receive response, invoke
// a pause to give the response some time to come back and then also
// between each retry.
wait_ms(10);
send_wnc_cmd(cmd_str.data(), &pRespStr, WNC_TIMEOUT_MS);
size_t pos_start = pRespStr->find("\"") + 1;
size_t pos_end = pRespStr->rfind("\"") - 1;
i = pos_end - pos_start + 1;
if (i > 0)
{
retries = 0; // If any data found stop retrying
string byte;
pS->erase();
while (pos_start < pos_end)
{
byte = pRespStr->substr(pos_start, 2);
*pS += (char)strtol(byte.data(), NULL, 16);
pos_start += 2;
}
return i;
}
}
}
else
pc.puts("sockread Err, to many to read\r\n");
return 0;
}
示例7: resolve_mdm
void resolve_mdm(void)
{
do
{
WNC_MDM_ERR = WNC_OK;
at_dnsresolve_wnc(MY_SERVER_URL, &MyServerIpAddress);
if (WNC_MDM_ERR == WNC_NO_RESPONSE)
{
reinitialize_mdm();
software_init_mdm();
}
else if (WNC_MDM_ERR == WNC_CMD_ERR)
{
pc.puts("Bad URL!!!!!!\r\n");
MyServerIpAddress = "192.168.0.1";
WNC_MDM_ERR = WNC_OK;
}
} while (WNC_MDM_ERR != WNC_OK);
pc.printf("My Server IP: %s\r\n", MyServerIpAddress.data());
}