Trích:
Nguyên văn bởi thuyenld
cho em hỏi hàm delay_ms(n) thì n max là bao nhiêu.
em đã thử với n>1000 thì thấy thời gian trễ lại nhỏ dần(ngược lại).
|
Hàm delay_ms(n) dùng hằng số ms_count = 125 để nhân với n, và đặt kết quả vào thanh ghi PR1 (là một thanh ghi 16-bit). Do đó, giá trị lớn nhất của n là 65535/125 = 524 (phần nguyên). Nếu bạn dùng giá trị n lớn hơn 524 thì chỉ có 16 bit thấp nhất của kết quả được dùng để đặt vào PR1, dẫn đến hiện tượng mà bạn đã thấy.
Thân,