Thông báo

Collapse
No announcement yet.

Lập trình đa nhiệm cho vi điều khiển

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    còn ai giữ mấy cái ví dụ về lập trình rtos trong Keil C ở post 1 và 2 ko nhỉ?Mình đã pm cho chủ thread hỏi chẳng biết có được ko?
    ai có ví dụ nào cho mình xin code coi thử,đang làm bài tập rtos đo điện áp ADC trên Keil C mà....tks all....

    Comment


    • #32
      có bác nào có quyển "Real time system and programming languages" bản mềm không cho em xin với ạ. Em thấy bài viết về RT system hay quá nên định nghiên cứu thử xem sao.
      cho em link hoặc gửi trực tiếp vào email: cation_h_k51da@yahoo.com

      Comment


      • #33
        Nguyên văn bởi ungdungtutai Xem bài viết
        Chào vutricongbka, cho mình hỏi tí
        Mình cũng rất thường xuyên phải lập trình đa nhiệm cho VĐK, nhằm giải quyết bài toán thời gian thực. Tuy nhiên, khi gặp các bài toán mà tốc độ xử lý của VĐK có giới hạn, số lượng công việc lại quá nhiều, đòi hỏi thời gian thực... buộc mình phải tính tới huớng đa xử lý (cụ thể xử lý song song nhằm chia tải, không phải là master-slave), giống như lập trình hệ thống bên mạng máy tính. Bác có kinh nghiệm gì hay tài liệu về cách giải quyết này không
        Vấn đề của bạn đang đề cập là hệ đa vi xử lý (Multi - uC). Thông tin được nối với nhau qua một dây để đảm bảo đồng bộ về mặt thời gian, với việc kết nối các vi điều khiển này với nhau thì có nhiều ưu điểm(tất nhiên với các bài toán lớn) đó là tăng các chức năng phần cứng, thiết kế các bài toán module và vẫn thực hiện được multi-stask...
        Để thực hiện được vấn đề này thì phải đồng bộ được đồng hồ, thực hiện được việc truyền số liệu giữa các uC, uC này có thể nhận biết được lỗi từ uC khác.

        P/S: Lập trình đa nhiệm là vấn đề hay trong lập trình trong hệ nhúng, nó giúp chúng ta chia các bài toán lớn, phức tạp thành các bài toán nhỏ và đơn giản hơn, sao ko thấy mọi người tiếp tục vấn đề này nhỉ?

        Comment


        • #34
          [rtos]

          Vấn đề quan trọng nhất là có board và environment để phát triển. Còn lập trình đa nhiệm tui nghỉ không khó. Giống như uITRON, nếu có environment các bạn chỉ cần đọc khoảng vài ngày là làm được. Làm thề nào để tạo task. Control các task. Sử dụng event flag, message, semaphore... Tui cũng không biết ở việt Nam mua board và environment ở đâu? Nếu ai biết có thể chỉ cho tôi với.

          Comment


          • #35
            RTOS Demo in Proteus: hOS is comming soon

            hOS: RTOS cho 8051 sắp sửa ra mắt!

            - Đa nhiệm
            - Cấu hình dễ dàng, nhanh chóng
            - Trễ ngắt rất ngắn và chuyển ngữ cảnh cực nhanh
            - Sử dụng Kỹ thuật lập lịch:Round Robin, Cooperative+ Priority
            - Free to try
            - Xuất xứ: Việt Nam

            Các bạn chạy Proteus để xem demo nhé!
            Attached Files

            Comment


            • #36
              Anh xem lại hộ em với ,sao em dùng Proteus ma không đọc được thế
              toanbk3i

              Comment


              • #37
                Proteus của mình dùng bản 7.4. Chắc bạn dùng bản 6.9 phải không?
                Hoặc có thể là bạn chưa unzip

                Comment


                • #38
                  Tại sao lại báo lỗi nhỉ?

                  em thấy cái này tác giả viết có sai đâu mà sao C codevison báo lỗi.
                  #define MAX_RAM_ADDRESS 0x045F
                  volatile unsigned char* _mem_ptr;
                  _mem_ptr = MAX_RAM_ADDRESS - 16; // lỗi ở câu lệnh này.
                  Các anh giúp e với. Thanks các anh nhiều

                  Comment


                  • #39
                    Nguyên văn bởi mnhut Xem bài viết
                    em thấy cái này tác giả viết có sai đâu mà sao C codevison báo lỗi.
                    #define MAX_RAM_ADDRESS 0x045F
                    volatile unsigned char* _mem_ptr;
                    _mem_ptr = MAX_RAM_ADDRESS - 16; // lỗi ở câu lệnh này.
                    Các anh giúp e với. Thanks các anh nhiều
                    sửa lại thành: _mem_ptr = (unsigned char*) ( MAX_RAM_ADDRESS - 16) ;

                    Comment


                    • #40
                      như vậy phải ép đúng kiểu ah. em viết thế này có đc không. Nó không có lỗi nữa
                      _mem_ptr &=0x0x0000;
                      _mem_ptr |=(MAX_RAM_ADDRESS - 16);

                      Comment


                      • #41
                        em thấy phần RTOS này rất hay !
                        em hiện tại đang làm một đồ án nhỏ
                        Liên quan đến việc thiết kế bộ điều khiển PID dung RTOS
                        bác nào có thể post cho em code và tài liệu liên quan không?
                        em xin cam ơn trướcv!

                        Comment


                        • #42
                          vì có rất nhiều rtos và phần cứng tương ứng, nếu muốn làm về nó phải xác định phần cứng và hệ điều hành tương ứng. nếu học cái gì rồi thì nên tìm rtos cho họ vxl đó rồi tìm vxl được rtos hỗ trợ

                          Comment


                          • #43
                            task-89

                            đây là một đoạn code viết bằng task em đã viết cho mấy biển quảng cáo điện tử chạy ngoài đường hi... .hy vọng có anh em nào rành về rtos cho pic chỉ giáo cho em với:
                            #include <AT89X52.H>
                            #include <rtx51tny.h>

                            ..................
                            ...................
                            ...................
                            void delay(unsigned int n)
                            {
                            int i;
                            for(i=0;i<n;i++)
                            {
                            TMOD = 0x01;
                            //ET0 = 0; //no interrupt
                            TH0 = 65535/256;
                            TL0 = 65535%256;
                            TR0 = 1;
                            while(!TF0);
                            TF0 = 0;
                            TR0 = 0;

                            }
                            }
                            */
                            //================================================== ===
                            void delay(unsigned int time)
                            { unsigned int j;

                            for(j=0;j<=time;j++);
                            }
                            //================================================== ===

                            //================================================== ===
                            void nhay1(void) _task_ 1
                            {
                            int trigger_count;
                            while(1)
                            {
                            .........thuc hien mot cong viec
                            }
                            }
                            //===========================================
                            void nhay2(void) _task_ 2
                            {

                            while (1)
                            {
                            .....thuc hien mot công viê?c tu`y y´

                            }

                            }
                            //=====================================
                            void LeTrongTan(void) _task_ 3
                            { char count;
                            bit flag;

                            while (1)
                            {
                            .......thu?c hiê?n mô?t công viê?c tu`y y´....

                            }

                            }
                            //=====================================
                            void vien(void) _task_ 4
                            { char count;
                            bit flag;
                            while (1)
                            {
                            ..........thu?c hiê?n mô?t công viê?c tu`y y´......

                            }
                            }
                            //=====================================
                            void nhay(void) _task_ 0
                            {
                            ST=0;
                            os_create_task (1);
                            os_create_task (2);
                            os_create_task (3);
                            os_create_task (4);
                            os_delete_task (0);
                            }
                            Xếp hàng tự động - Gsm/Gsm/Ethernet - ATM/Backup
                            phone: 0989.18.13.15
                            web:

                            Comment


                            • #44
                              mình dịch thấy báo lỗi không tìm thấy file rtx51.lib bác nào có gửi cho mình với, hoặc gửi cho mình bản keilC full nha, thanks!
                              Lỗi cụ thể như sau:
                              *** FATAL ERROR L210: I/O ERROR ON INPUT FILE:
                              EXCEPTION 0021H: PATH OR FILE NOT FOUND
                              FILE: C:\KEIL\C51\LIB\RTX51.LIB
                              Target not created
                              Vũ xuân Lợi
                              YM!:

                              Comment


                              • #45
                                Mình mô phỏng bằng led thì thấy các task này sẽ quét nội dung của nó 3 lần(dù có vòng lặp vô hạn) cũng sẽ thoát ra để làm việc với task tiếp theo, có phải vậy không nhỉ?
                                Vũ xuân Lợi
                                YM!:

                                Comment

                                Về tác giả

                                Collapse

                                vutricongbka Tìm hiểu thêm về vutricongbka

                                Bài viết mới nhất

                                Collapse

                                • vi van pham
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi vi van pham
                                  Cám ơn những lời chúc tốt đẹp của em.

                                  Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                                  Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                                  hôm nay, 02:00
                                • nhathung1101
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi nhathung1101
                                  Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                                  Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                                  Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                                  Hôm qua, 22:18
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                                  Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                                  Hôm qua, 14:51
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                                  Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                                  Hôm qua, 14:39
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                                  Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                                  Hôm qua, 14:28
                                • bqviet
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi bqviet
                                  Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                                  21-02-2025, 20:26
                                • mèomướp
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi mèomướp
                                  Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                                  21-02-2025, 12:32
                                • vi van pham
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi vi van pham
                                  Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                                  Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                                  20-02-2025, 21:31
                                • bqviet
                                  Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                                  bởi bqviet
                                  Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                                  20-02-2025, 17:22
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Tiếng Anh, Đình Thường phải nói là rất tệ, khiến việc giao tiếp đời thường thôi cũng khó chứ nói gì về kĩ thuật.

                                  Nhân tiện, nhờ các bạn, các bác xem giúp thư ĐT viết thế này liệu có thể gửi tới địa chỉ nhận hay chăng,...
                                  20-02-2025, 11:52
                                Đang tải...
                                X