PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > RTOS và Thuật toán với PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

RTOS và Thuật toán với PIC RTOS và Các thuật toán dùng cho PIC/dsPIC/PIC32
Mod: phamminhtuan

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 01-10-2011, 05:13 PM   #1
Duong_Act
Nhập môn đệ tử
 
Tham gia ngày: Jul 2011
Bài gửi: 7
:
RTOS của Microchip

Mình đang tìm hiểu RTOS nhưng là Free của CCS.
Theo những gì mình thu lượm được thì khi 2 hay nhiều task chạy thì các task sẽ được chạy đan xen với nhau.
Thời gian mỗi task chạy trước khi chuyển sang task khác là rate = n.minor_cycle.
Nhưng khi thực hiện mình thấy để đúng thì minor_cycle min phải có giá trị >= thời gian của hoàn thành 1 task ngắn nhất . Như vậy nếu gặp 1 task có thời gian khá dài thì giá trị minor_cycle phải khá lớn làm ảnh hưởng tới các task khác và tính đáp ứng của RTOS.
Vậy các bác có cách nào giải quyết vấn đề này ko ? Cái đó do RTOS của CCS hay do cách mình viết Code nhỉ ?

Ví dụ :
......
#use rtos(timer=1, minor_cycle=t)

#task (rate = t, max=1ms,queue=5)
void chuongtrinhmot()
{
///......
}

#task (rate = 2.t, max=1ms,queue=5)
void chuongtrinhhai()
{
///......
}
......
Nếu chương trình 1 hoặc 2 là 1 chương trình cần nhiều thời gian để hoàn thành như xuất kí tự lên LCD mất 50ms thì minor_cycle >=50ms. Do đó rate của các task rất lớn => RTOS không đáp ứng dc thời gian thực
Nhờ các cao nhân chỉ giáo
Duong_Act vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam