3. The OS must be fast
3.5.16 The ‘Volatile’ Type Qualifier in Embedded ‘C’
Từ khúa ‘volatile’ ( khả biến) cú thể là tiền tố với bất kỳ biến nào vỡ qualifier thụng bỏo cho trỡnh biờn dịch chộo rằng giỏ trị của biến cú thể thay đổi tại bất kỳ thời điểm nào (cú thể sửa đổi khụng đồng bộ) ngoài cõu lệnh mó hiện tại cú kiểm soỏt hiện tại .
Vớ dụ:
- Cỏc biến chung cho cỏc tuyến dịch vụ ngắt (ISR) và cỏc chức năng khỏc của tệp
- Thanh ghi phần cứng ỏnh xạ bộ nhớ
- Cỏc biến được chia sẻ bởi cỏc luồng khỏc nhau trong một ứng dụng đa luồng (Khụng ỏp dụng cho phương phỏp phỏt triển Phần mềm siờu vũng lặp)
Hỡnh thức chung của việc khai bỏo một biến khả biến được đưa ra dưới đõy. volatile data type variable name;
or data type volatile variable name;
data type đề cập đến kiểu dữ liệu của biến. Nú cú thể là tờn biến int, char, float, v.v. variable name
214
E.g. volatile unsigned char x; unsigned char volatile x;
Biến Khả biến khụng đổi (The ‘Constant Volatile’ Variable): Một số biến được sử dụng trong cỏc ứng dụng nhỳng cú thể là cả hằng số và khả biến. Một thanh ghi trạng thỏi chỉ đọc của thiết bị được ỏnh xạ bộ nhớ là một vớ dụ điển hỡnh cho việc này.
volatile const int a; // Constant volatile integer
volatile const int* a; //Pointer to a Constant volatile integer
Con trỏ khả biến: Con trỏ khả biến cú thể thay đổi tại bất kỳ điểm nào sau khi chỳng được khởi tạo.
data type* volatile variable name; e.g. unsigned char* volatile a;
Con trỏ khả biến đến một biến khả biến được khai bỏo với cỳ phỏp sau. data type volatile* volatile variable name;
e.g. unsigned char volatile* volatile a;