我正在逐个字节地从UART读取数据。这些数据被保存到一个字符中。 在起始字节之后的字节表示接下来的字节数(十六进制)。我需要将这个十六进制数转换成整数,以便统计需要读取的字节数。
目前,我只是将其强制转换为int类型。这是我的代码:
char ch;
int bytes_to_read;
while(1){
serial_read(UART_RX, &ch, sizeof(char));
if(/*2nd byte*/){
bytes_to_read = (int)ch;
}
}
我读过关于strtol()的内容,但它需要char数组作为输入。应该怎么做才是正确的?
char
强制转换为int
——那么实际的问题是什么? - Paul R0x03
解读为4个字符0
、x
、0
和3
,还是作为一个字节的表示0x03
和值 3?请确保你清楚价值和表示之间的区别。 - glglgl