PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   làm sao để biết thời gian xử lý của 1 hàm trong CCS? (http://www.picvietnam.com/forum/showthread.php?t=1627)

sandro_bk 21-10-2007 04:03 PM

làm sao để biết thời gian xử lý của 1 hàm trong CCS?
 
tôi viết 1 chương trình = CCS,chương trình đòi hỏi phải giới hạn thời gian tính toán vì còn phải update giá trị cho PWM,tôi xuất PWM 20Khz nên tất các các công việc tính toán phải có tổng thời gian nhỏ hơn = 50uS,
vậy cho tôi hỏi làm sao biết ví dụ phép cộng
a = a + b;hết mấy chu kỳ lệnh?????
còn các hàm viết sẵn như
set_power_pwm0_duty(4000); hết bao nhiêu chu kỳ lệnh????

tôi dùng thạch anh 10Mhz chế độ H4,cho hỏi ở chế độ này thạch anh ngoài tối đa là bao nhiêu?20Mhz được ko?
cám ơn các bác,
thân

falleaf 21-10-2007 04:41 PM

Trích:

Nguyên văn bởi sandro_bk (Post 12275)
tôi viết 1 chương trình = CCS,chương trình đòi hỏi phải giới hạn thời gian tính toán vì còn phải update giá trị cho PWM,tôi xuất PWM 20Khz nên tất các các công việc tính toán phải có tổng thời gian nhỏ hơn = 50uS,
vậy cho tôi hỏi làm sao biết ví dụ phép cộng
a = a + b;hết mấy chu kỳ lệnh?????
còn các hàm viết sẵn như
set_power_pwm0_duty(4000); hết bao nhiêu chu kỳ lệnh????

tôi dùng thạch anh 10Mhz chế độ H4,cho hỏi ở chế độ này thạch anh ngoài tối đa là bao nhiêu?20Mhz được ko?
cám ơn các bác,
thân

CCS C cho phép bạn view lại bằng dạng LIST, tức là liệt kê cách lệnh ASM mà CCS C đã dịch ra, khi đó bạn hoàn toàn có thể quản lý được từng dòng lệnh nó làm cái gì, như thế nào. Nếu cần thiết, bạn có thể sửa trực tiếp ngay trên bản ASM đó, và cuối cùng bạn lấy chính bản ASM để dịch lại bằng MPASM.

Hình như bạn nói 10MHz và đặt ở chế độ HS chứ không phải H4? Tuỳ theo các dòng chip của các bạn, có thể sử dụng tới 20MHz, 30MHz, 40MHz,... Bạn chú ý khi đọc tên linh kiện, vd: PIC16F887 20I/P thì số 20 này có nghĩa là bạn có thể sử dụng thạch anh tới 20MHz, 30 có nghĩa là 30MHz,... Bạn đọc kỹ lại trên con chip của bạn, hoặc khi bạn đặt hàng mua sản phẩm.

Chúc vui

sandro_bk 22-10-2007 12:43 AM

cám ơn bác đã quan tâm
tôi dùng con pic18f4331,tôi dùng chế độ HSPLL để nhân tốc độ thạch anh lên 4 lần,trong CCS khai báo là H4,như vậy khi gắn thạch anh 10Mhz và khai báo H4 thì nó sẽ chạy với tần số fosc = 40Mhz,cái tôi thắc mắc là nếu gắn 20Mhz để nhân lên thành 80Mhz có được ko? còn cái view list bác nói tôi đã xem rồi,mấy lệnh asm thì ko rành lắm chắc phải coi tập lệnh và đếm từng dòng mới biết nó làm việc hết bao nhiêu thời gian,cảm ơn bác nhiều

namqn 22-10-2007 05:58 PM

Trích:

Nguyên văn bởi sandro_bk (Post 12282)
cám ơn bác đã quan tâm
tôi dùng con pic18f4331,tôi dùng chế độ HSPLL để nhân tốc độ thạch anh lên 4 lần,trong CCS khai báo là H4,như vậy khi gắn thạch anh 10Mhz và khai báo H4 thì nó sẽ chạy với tần số fosc = 40Mhz,cái tôi thắc mắc là nếu gắn 20Mhz để nhân lên thành 80Mhz có được ko? còn cái view list bác nói tôi đã xem rồi,mấy lệnh asm thì ko rành lắm chắc phải coi tập lệnh và đếm từng dòng mới biết nó làm việc hết bao nhiêu thời gian,cảm ơn bác nhiều

Tốc độ clock tối đa của PIC18F4331 là 40 MHz, theo spec. trong datasheet. Bạn có thể overclock PIC đôi chút, nhưng đến mức độ nào thì bạn phải tự thử nghiệm, và Microchip sẽ không đảm bảo những tính năng kỹ thuật của chip khi bạn cho nó làm việc ngoài spec.

Để biết một chương trình con chạy mất bao lâu thì bạn có thể dùng các phần mềm mô phỏng, và đặt các breakpoint ngay trước và sau khi gọi chương trình con đó, bạn sẽ đo được thời gian đã trôi qua sau khi thực thi một chương trình con. MPLAB SIM có sẵn trong MPLAB IDE là một ví dụ.

Thân,


Múi giờ GMT. Hiện tại là 05:13 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam