Trong bài viết này Điện Tử Tương Lai sẽ chia sẻ ba cách để chuyển đổi một char thành một int trong arduino. Phương pháp đầu tiên là phương pháp đơn giản chỉ có thể chuyển đổi một char tại một thời điểm. Phương pháp thứ hai là sử dụng hàm toInt() và phương pháp thứ ba là sử dụng hàm Serial.parseInt().
Chuyển đổi char thành int bằng phương pháp đơn giản trong Arduino
Phương thức này chỉ có thể chuyển đổi một char đơn lẻ thành một int. Bạn cần trừ một số không của kiểu char khỏi char để chuyển nó thành int.
void loop{
char someChar = '2'; // biến để lưu trữ char
int someInt = someChar - '0';
}
Trong đoạn mã trên, someChar là một biến kiểu char để lưu trữ các char cần chuyển đổi. Bạn có thể thay đổi giá trị của nó thành biến char đã cho. someInt là một biến kiểu int để lưu trữ kết quả của chuyển đổi. Nếu biến đã cho không phải là một ký tự đơn, thì hãy sử dụng các phương pháp dưới đây.
Chuyển đổi char thành int Sử dụng hàm toInt() trong Arduino
Trong phương pháp này, trước tiên, bạn sẽ chuyển đổi char đã cho thành một string và sau đó sử dụng hàm toInt() để chuyển đổi string thành một int.
void loop(){
char someChar = '123';
String stringOne = String('a');// chuyển đổi một char không đổi thành một string
stringOne.toInt();
}
Trong đoạn mã trên, someChar là một biến kiểu char để lưu trữ các char đã cho. stringOne là một biến kiểu String. Nếu string không bắt đầu bằng một số hợp lệ, thì chuyển đổi sẽ không thể thực hiện được và số 0 sẽ được trả về.
Chuyển đổi char thành int bằng cách sử dụng hàm Serial.parseInt() trong Arduino
Bạn có thể sử dụng phương pháp này nếu bạn đang đọc đầu vào từ một cổng serial của Arduino và muốn chuyển đầu vào đã nhận thành Int.
void loop(){
if (Serial.available()>0){
int valA = Serial.parseInt();
}
}
Quá trình phân tích cú pháp sẽ dừng nếu không có giá trị nào được đọc hoặc một thành phần không phải số được đọc. Nếu không có đầu vào hợp lệ nào được đọc cho đến khi hết thời gian chờ, thì 0 sẽ được trả về. Xem Serial.setTimeout() để đặt thời gian chờ của chuỗi.
Hotline: 0979 466 469