Xin lỗi đã cắt ngang đoạn trao đổi của 2 bạn, cũng là delay các bạn có thể giải thích cơ chế của hàm này giúp mình với, mình mới tập làm quen.
Trích:
void delay (unsigned int ms)
{
unsigned char i;
while(ms)
{
i = 200;
while (i--);
ms--;
}
}
Ý nghĩa của từng câu lệnh, và ứng với câu lệnh đó thì CPU xử lí thế nào?
Cám ơn các bạn !
Trích:
void delay (unsigned int ms)
{
unsigned char i;
while(ms)
{
i = 200;
while (i--);
ms--;
}
}
Ý nghĩa của từng câu lệnh, và ứng với câu lệnh đó thì CPU xử lí thế nào?
Cám ơn các bạn !
B1: Khai báo sử dụng biến i
B2: Kiểm tra ms, nếu ms khác 0 thì chuyển sang bước 3, nếu bằng 0 thì thoát
B3: Gán giá trị 200 cho biến i
B4: Giảm i đi một đơn vị, kiểm tra xem có khác 0 hay không, nếu chưa thì tiếp tục giảm rồi lại kiểm tra, nếu bằng 0 thì chuyển qua bước 5
B5: Giảm ms đi 1 rồi quay về bước 2
Như vậy chương trình tạo trễ này yêu cầu CPU làm ms lần đếm lùi từ 200 về 0.
Thân mến,
Comment