Uhm, vì hiện nay công cụ viết bài của diễn đàn chưa được hoàn chỉnh nên hơi khó vẽ hình cho bạn.
Tuy nhiên bạn xét như sau:
Nếu như để chế độ không chia, thì bạn phải đếm từ 1 đến 1,000,000 thì mới đủ 1 giây. Đúng vậy không?
Nếu giờ bạn dùng bộ chia 2 chẳng hạn. Như vậy, cứ 2us nó mới đếm lên 1 đơn vị. Như vậy, bạn chỉ cần đếm từ 1 đến 500,000 là nó đủ 1s rồi.
Tương tự như vậy, nếu bạn đặt bộ chia là 4, thì chỉ đếm đến 250,000 là đủ...
Nhưng mà khổ một cái, đó là nó không cho bộ chia kiểu 200, 20000, 10000... mà chỉ cho cài đặt bộ chia theo số mũ của 2.
Vậy tối đa, bạn đặt bộ chia là 256 thì bạn sẽ đếm ra được con số lẻ. X chẳng hạn.
khi đó 256X ~ 1,000,000, vd, F nói là 999,938 chẳng hạn... vì F không tiện tính ra con số là bao nhiêu.
Khi đó, còn khoảng mấy chục us, thì làm sao tính được? Khi yêu cầu bắt là chính xác?
Bởi vậy, bạn hoàn toàn có thể cài đặt một timer khác đếm song song, với độ phân giải nhỏ hơn để tranh sai số.
Hoặc giả, bạn có thể đặt thêm biến bất kỳ để đếm đến 256, thì tăng giá trị biến lên... Rất nhiều thuật toán và cách xử lý có thể dùng ở đây, tùy theo yêu cầu của bài toán.
Bạn có thể viết các phân tích ra đây, chúng ta cùng tính và cùng sửa. Quản trọng nhát là bạn nắm được bản chất công việc mình làm, còn việc viết lệnh thì không phải là vấn đề cần quan tâm.
Chúc vui.
|