求大神分析一下这个Serial.read的方法
int HardwareSerial::read(void){
// if the head isn't ahead of the tail, we don't have any characters
if (_rx_buffer_head == _rx_buffer_tail) {
return -1;
} else {
unsigned char c = _rx_buffer;
_rx_buffer_tail = (rx_buffer_index_t)(_rx_buffer_tail + 1) % SERIAL_RX_BUFFER_SIZE;
return c;
}
}
这里定义的c是字符,是不是会转换成ascii码再输出?如果要实现十六进制接收,那如何改?
页:
[1]