一、字符串转16进制
这个找了好多资料,试了好多次,终于可以了,小小记录一下~
String hexString = "AB"; // 输入的十六进制字符串
unsigned int hexValue = strtol(hexString.c_str(), NULL, 16); // 将十六进制字符串转换为无符号整型数值
Serial.println(hexValue);
输出结果
10*16+11=171
二、串口输入多个字符串,转16进制
通过下面这个代码,可以实现串口输入数据到16进制电机控制指令的转化。
while (Serial.available() > 0)//判断串口是否有输入
{
received = Serial.read();//单个字符读取
if (received!=',') //每个指令以','作为结束
{
inData+= received;//组成指令字符串
}else{
/*******关于substring截取字符串说明***********/
//第一个参数为字符串截取的起始下标,第二个参数为结束位置的索引下标,注意结束位置不截取
/*******************************************/
addr=inData.substring(0,2