![]() |
TÍnh toán thời gian trong CCS C
Mình đang chuyển sang lập trình PIC bằng PIC C nhưng cái tính toán thời gian lệnh ,chu kỳ lệnh chưa biết tính toán thế nào cho đúng.Thứ nhất là vể chu kỳ lệnh của các lệnh trong PIC C:delay_ms();output_D()...Cái này tham khảo ở đâu vậy vì trong datasheet của PIC chỉ nói đến chu kỳ lệnh của mã asembly thôi.Lấy ví dụ chương trình này :
Code:
/* CONTINUE.C Các câu hỏi chưa có câu trả lời là: 1> Lệnh delay(clock=4000000) ảnh hưởng như thế nào tới lệnh delay_ms(2).Bởi vì delay_ms(2) tức là tạm dừng 2s,vậy clock kia ảnh hưởng thế nào????? 2> Khi chạy debug thi khi den lệnh delay_ms(2) thì nó sẽ trở về dòng #use delay(clock=4000000),và dừng ở đó 8 lần .Phải chăng 2 trong dòng lệnh delay_ms(2) kia là...? |
Trích:
Bạn thử khai báo #use delay(clock=8000000) và dùng tần số clock 4 MHz xem có phải delay_ms(1000) sẽ làm trễ 2 giây hay không. 2. Bạn debug bằng IDE nào? Bạn có thể dùng chế độ Step Over để chạy lệnh gọi hàm delay_ms() như một lệnh hay không? Thân, |
Trích:
Em dùng MPLAB,và đã debug bằng các công cụ step over,step into rồi ghi các mốc thời gian dưới thanh trạng thái nhưng thấy chưa khớp.Để em kiểm tra lại.Còn các chu kỳ lệnh của các lệnh trong PIC C thì sao hả anh ? |
1 Attachment(s)
em đã tính chu kỳ lệnh của lệnh delay_ms() bằng cách sau đây không biết có đúng khôg nữa.(tính như hình)
Dùng chế độ debug và xem code assembly thì thấy lệnh delay_ms() tương đương với nhóm 3 lệnh liên tiếp: movlw //1 cycle movwf //1 cycle goto //2 cycle Như vậy chu ký lệnh của delay_ms() sẽ là 1+1+2=4. |
Trích:
Câu hỏi về các chu kỳ lệnh của bạn thì tôi không hiểu lắm, có phải bạn định hỏi một lệnh cụ thể như +, -, hay gọi hàm thư viện nào đó thì mất bao nhiêu chu kỳ không? Thân, |
Trích:
Thân, |
Em nghĩ vấn đề "thiết lập tần số clock cho đúng bằng lệnh Settings (trong mênu Debugger của MPLAB IDE)" là cực kỳ quan trọng trong mô phỏng nếu không thì tính toán sẽ sai hết.Cảm ơn anh namnq rất nhiều.
|
Múi giờ GMT. Hiện tại là 05:26 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam