tailieunhanh - Bài giảng Lập trình hệ thống nhúng: Chương 5 - Bùi Quốc Bảo

Bài giảng "Lập trình hệ thống nhúng: chương 5 - Bùi Quốc Bảo" gồm các nội dung sau: Tác vụ chạy đồng thòi, máy trạng thái có chu kỳ khác nhau, khởi tạo scheduler, cập nhật trạng thái tác vụ, thêm tác vụ vào scheduler. . | L P TRÌNH H TH NG NHÚNG BÙI QU C B O Concurrency (Tác v ch y ñ ng th i) M t h th ng có th có 2 hay nhi u tác v ch y ñ c l p nhau. VD: M t h th ng dùng 8051 ñ : B t/T t 1 LED g n vào sau chu kỳ 500 ms. Cho 3 LED vàng-xanh-ñ l n lư t sáng-t t sau chu kỳ 500 ms Chia 2 tác v trên thành 2 máy tr ng thái SM ñ ng b v i chu kỳ 500 ms BM K Thu t ði n T - ðH Bách Khoa 2 1 LED SHOW Blink LED Period: 500 ms LEDON Rotate LED LEDOFF Period: 500 ms GREEN_ON YELLOW_ON RED_ON BM K Thu t ði n T - ðH Bách Khoa 3 enum BLState_t {OFF_STATE,ON_STATE} BLState; enum RTState_t {YELLOW_STATE, GREEN_STATE, RED_STATE} RTState; unsigned void char timerFlag = 0; TimerISR() { timerFlag = 1; } void } void } BL_Update() { RT_Update() { BM K Thu t ði n T - ðH Bách Khoa 4 2 void main(void) { outputInit(); timerInit(); BLStateInit(); STStateInit(); while (1) { while (!timerFlag); BL_Update(); RT_Update(); timerFlag = 0; } } BM K Thu t ði n T - ðH Bách Khoa 5 Shared variable (bi n dùng chung) Ho t ñ ng c a m t h th ng có th ñư c chia thành nhi u tác v ñ c l p m c dù chúng có liên quan t i nhau. VD: M t h th ng phát hi n chuy n ñ ng s d ng 1 sensor k t n i vào chân . M t chuy n ñ ng ñư c phát hi n khi sensor b ng 1 trong 2 l n lâý m u liên ti p cách nhau 200ms. LED1 (nôí vào ) ñư c nh p nháy sau v i chu kỳ 200ms trong th i gian phát hi n chuy n ñ ng. LED2 (nôí vào ) ñư c b t khi phát hi n chuy n ñ ng và t t 10s sau khi chuy n ñ ng không còn b phát hi n. BM K Thu t ði n T - ðH Bách Khoa 6 3 Shared variable (bi n dùng chung) ! ! S0 S1 mnt = 0 mnt = 1 ! !mnt mnt !mnt && (cnt < 50) mnt mnt T0 S2 !mnt T1 T2 cnt = 0 cnt++ !mnt && !(cnt < 50) BM K Thu t ði n T - ðH Bách Khoa 7 Shared variable (bi n dùng chung) Chú ý: Ch có 1 tác v ghi vào bi n chung. Nhi u tác v có th cùng ñ c m t bi n chung. VD V máy tr ng thái cho h th ng làm vi c sau: B t lò ñ t b ng cách set .

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.