namqn |
06-10-2009 06:57 PM |
Trích:
Nguyên văn bởi npbaoduy
(Post 30008)
Theo mình nghĩ C30 không có khai báo tần số dao động và cũng không có hàm delay_ms hay delay_us như CCS.
Em xin hỏi một tí về delay mà không dùng timer, nếu như viết bằng asm thì chúng ta biết được một lệnh mất bao nhiêu chu kỳ máy, từ đó có thể viết một vòng lặp để thực hiện delay, nhưng với C30 thì sao? Làm sao mình biết một lệnh mất bao nhiêu chu kỳ máy?
|
Bạn có thể viết một đoạn for ( ; ; ); rồi mô phỏng trong MPLAB IDE (dùng MPLAB SIM làm simulator) thì sẽ biết được lệnh đó chạy mất bao nhiêu chu kỳ máy.
Xem thêm hàm __delay32() của C30, cho phép delay một số chu kỳ máy (tối thiểu là 11, cần include <libpic30.h>), trong tài liệu "16-bit Language Tools Libraries".
Thân,
|