![]() |
|
![]() |
#1 |
Đệ tử 4 túi
Tham gia ngày: Aug 2006
Bài gửi: 81
: |
Pic Rtos !
em đang dùng CCS C để lập trình RTOS
các bác cho em hỏi mức ưu tiên của các Task trong CCS được xác định như thế nào Code:
#use rtos(timer=0, minor_cycle=20ms) #task(rate=1s, max=20ms, queue=5) minor_cycle = 20ms tức là các tiến trình sẽ được chia nhỏ thực hiện xem kẽ với thời gian 20ms max=20ms ---->thời gian thực hiện tiến trình bé hơn hoặc bằng minor_cycle queue=5------>hàng đợi bằng 5 rate=1s--->cái này có phải là tiến trình sẽ được thực hiện lại sau 1 s không ?? thanks! |
![]() |
![]() |
![]() |
#2 | |
Super Moderator
Tham gia ngày: Feb 2006
Bài gửi: 150
: |
Trích:
#task(rate=1s, max=20ms, queue=5), có nghĩa là chu kỳ thực hiện là 1s, cứ mỗi 1s mà CPU kô xử lý task nào thì thực hiện task này, nếu CPU bận thì task này vẫn đợi, thời gian thực thi của nó không quá max, và max không lớn hơn minor_cycle, với hàng đợi queue 5 byte, task này sẽ nhận được ở vùng đệm khi được thực thi. RTOS cho CCS C được thiết kế đơn giản, nếu bác có nhu cầu sử dụng RTOS với mục đích phức tạp hơn có thể kiếm đâu đó cái Salvo của Pumpkin, cái này lợi hại hơn nhiều, có priority, và rất linh hoạt, tuy nhiên, kô thấy có hỗ trợ CCS C |
|
![]() |
![]() |
![]() |
|
|