how2 tính toán chu kỳ sự chậm trễ time4 MCU trong C lập trình?

B

brennbar67

Guest
Tôi không chắc how2 tính toán thời gian chậm trễ bằng cách sử dụng cho vòng lặp.
Nếu sử dụng 8Mhz đồng hồ, thời gian trì hoãn cho ví dụ này, dưới đây là những gì:

for (i = 1; i <20; i );

Là nó tính toán như thế này?19 x (1/8Mhz) = 2.375us

Tôi chỉ biết sử dụng ngôn ngữ how2 lắp ráp tính toán, nhưng i dunno là nó C chương trình tương tự với lắp ráp.

Bất cứ ai biết?

 
nếu bạn có giả lập, chỉ cần tính được lắp ráp mã tương ứng, nếu bạn không có một giả lập, sau đó bạn có thể làm cho trình biên dịch C của bạn để ra danh sách các hội đồng, nó có thể giúp bạn quá.

 
no, i dun có mô phỏng.
Nhưng tôi muốn học tính toán sử dụng C chương trình.

 
Nó không thể tính được CPU thực hiện chu kỳ bằng cách đếm C mã.các chu kỳ phụ thuộc vào các mã lắp ráp, trình biên dịch C khác nhau sẽ làm cho kết quả khác nhau.
Nhưng nếu bạn chỉ muốn biết những khoảng thời gian trì hoãn, bạn có thể sử dụng tính giờ trong MCU để giúp bạn ra, bạn có thể bắt đầu hẹn giờ trước khi vòng, sau đó có được tính giờ sau khi vòng lặp này.bạn sẽ biết được thời gian, độ chính xác phụ thuộc vào nguồn đồng hồ của bộ đếm thời gian.

 
It's true bạn không thể đếm nó chỉ đơn giản bằng cách xem mã nguồn C.C trình biên dịch cho PICS chỉ đơn giản là C-to-dịch asm.Vì chỉ có asm timings chỉ dẫn được cung cấp, bạn sẽ phải biết làm thế nào bản dịch được thực hiện trước khi có thể đếm timings.Nếu bạn hiểu asm và chỉ muốn đếm một phân đoạn của mã này, bạn có thể biên dịch mã đầu tiên, nhìn vào lst file và đếm số timings.

 

Welcome to EDABoard.com

Sponsor

Back
Top