![]() |
|
|
#1 |
|
Đệ tử 7 túi
Tham gia ngày: Aug 2007
Bài gửi: 213
: |
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
*/
#include "16F877A.H"
#use delay(clock=4000000)
main()
{
int outbyte;
restart: outbyte=0;
while(1)
{
output_D(outbyte);
delay_ms(2);
outbyte++;
if (!input(PIN_D0)) continue;
if (!input(PIN_D1)) break;
delay_ms(2);
if (outbyte==100) goto restart;
}
}
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à...? |
|
|
|
|
|