string

Giới thiệu

string tiếng Anh nghĩa là chuỗi. Trong một chương trình Arduino có 2 cách để định nghĩa chuỗi, cách thứ nhất là sử dụng mảng ký tự để biểu diễn chuỗi. Bài viết này xin mô tả chi tiết về cách thứ nhất.

Cách khai báo

char Str1[15]; // khai bảo chuỗi có độ dài là 15 ký tự.

char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'}; //khai báo chuỗi có độ dài tối đa là 8 ký tự và đặt nó giá trị ban đầu là arduino (7 ký tự). Buộc phải khai báo chuỗi nằm giữa hai dấu nháy đơn nhé! 

char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'};//khai báo chuỗi có độ dài tối đa là 8 ký tự và đặt nó giá trị ban đầu là arduino<ký tự null>  (8 ký tự)

char Str4[ ] = "arduino";// Chương trình dịch sẽ tự động điều chỉnh kích thước cho chuỗi Str4 này và ngoài ra bạn phải đặt một chuối trong dấu ngoặc kép

char Str5[8] = "arduino";// Một cách khai báo như Str3
char Str6[15] = "arduino"; // Một cách khai báo khác với độ dài tối đa lớn hơn

CHÚ Ý: mỗi chuỗi đều cần có 1 ký tự NULL, nếu bạn không khai báo ký tự NULL (\0) ở cuối thì trình biên dịch sẽ tự động thêm vào. Đó là lý do vì sao Str2, Str4 lại có độ dài là 8 nhưng chỉ chứa một chuỗi 7 ký tự. Ký tự NULL này để làm gì? Nó dùng để trình biên dịch biết điểm dừng của một chuỗi! Nếu không nó sẽ đọc tiếp những phần bộ nhớ khác (mà phần ấy không lưu chuỗi)

Bạn có thể khai bảo một chuỗi dài như sau:

char myString[] = "This is the first line"
" this is the second line"
" etcetera"

Mảng chuỗi

Khi cần phải thao tác với một lượng lớn chuỗi (ví dụ như trong các ứng dụng trả lời người dùng bằng LCD) thì bạn cần sử dụng một mảng chuỗi. Mà bản chất của chuỗi là mảng các ký tự. Vì vậy để khai báo 1 mảng chuỗi bạn cần sử dụng một mảng 2 chiều!

Để khai báo một mảng chuỗi, rất đơn giản:

char* myStrings[] = {"I'm number 1", "I'm number 2"};

Chỉ cần thêm dấu * sau chữ char và trong dấu ngoặc vuông phía sau myStrings bạn có thể thiết đặt số lượng phần tử tối đa của mảng chuỗi!

Ví dụ

char* myStrings[]={"This is string 1", "This is string 2", "This is string 3",
"This is string 4", "This is string 5","This is string 6"};

void setup(){
Serial.begin(9600);
}

void loop(){
for (int i = 0; i < 6; i++){
   Serial.println(myStrings[i]);
   delay(500);
   }
}

 

Reference Tags: 
lên
12 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Lấy từng bit trong một thanh ghi của iNut PLC - Lấy từng bit trong một luồng cảm biến của iNut cảm biến

Làm thế nào để lấy từng bit của một thanh ghi? Bạn lưu trạng thái của INPUT/OUTPUT hoặc cảm biến digital vào một bit của thanh ghi và bạn muốn đọc nó để thiết kế giao diện? Đừng lo lắng. Giải pháp cực kỳ đơn giản, nó chỉ là một khối lệnh kéo thả thôi mà! Nào, cùng khám phá!

lên
7 thành viên đã đánh giá bài viết này hữu ích.

Tài liệu kỹ thuật iNut PLC - Mô tả kĩ thuật iNut PLC - Hướng dẫn sử dụng module iNut PLC

[SCADA - Document] Với sự hưởng ứng từ Cộng đồng Điện công nghiệp và Tự động hóa, iNut PLC - module giúp bạn kết nối các thiết bị PLC của mình lên Internet đã được lan tỏa khắp mọi miền đất nước. Và để đáp lại sự mong chờ ấy, bài viết này sẽ phân tích các vấn đề kỹ thuật để giúp các bạn hiểu hơn về module này. Các vấn đề về làm thế nào để kết nối, chuẩn kết nối là gì, chương trình cài đặt setup ra sao, sẽ được trình bày và liệt kê đầy đủ ở đây. Và cũng sẽ được cập nhật thường xuyên theo sự thay đổi của các phiên bản iNut PLC.

lên
8 thành viên đã đánh giá bài viết này hữu ích.