Thông báo

Collapse
No announcement yet.

Vòng lặp vô hạn: Help!!!!!!!!!!!!!

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

  • Vòng lặp vô hạn: Help!!!!!!!!!!!!!

    em lớp 12. em mới tập tọe học lập trình avr mấy hôm nay thôi (để đi thi mấy cái hoạt động lung tung và cũng là thỏa mãn sở thích ấy mà ^^). em dùng chip ATmega8 và lập trình bằng WinAVR. em mới đọc mấy bài viết hướng dẫn nội dung cơ bản thôi. em cần lập trình bằng WinAVR, ngôn ngữ C/C++ . em cần hỏi là:
    - em cần kiểm tra điều kiện trên các chân PINC0 và PINC3 (DDRC=0x00) cùng một lúc trong suốt quá trình IC hoạt động, tức là hai vòng lặp vô hạn đồng thời song song hoạt động. dùng while (1) thì không được (hoặc do em ko biết dùng thế nào!). vậy phải lập trình thế nào để có được hai hoặc nhiều vòng lặp vô hạn cùng hoạt động song song.
    - ví dụ em cần viết: nếu chân PC1=1 thì.... thì phải viết thế nào. Kiểu như là IF ((PINC,1)==1) .... thì sửa lại đúng là thế nào?

  • #2
    Nguyên văn bởi agentslx2 Xem bài viết
    em lớp 12. em mới tập tọe học lập trình avr mấy hôm nay thôi (để đi thi mấy cái hoạt động lung tung và cũng là thỏa mãn sở thích ấy mà ^^). em dùng chip ATmega8 và lập trình bằng WinAVR. em mới đọc mấy bài viết hướng dẫn nội dung cơ bản thôi. em cần lập trình bằng WinAVR, ngôn ngữ C/C++ . em cần hỏi là:
    - em cần kiểm tra điều kiện trên các chân PINC0 và PINC3 (DDRC=0x00) cùng một lúc trong suốt quá trình IC hoạt động, tức là hai vòng lặp vô hạn đồng thời song song hoạt động. dùng while (1) thì không được (hoặc do em ko biết dùng thế nào!). vậy phải lập trình thế nào để có được hai hoặc nhiều vòng lặp vô hạn cùng hoạt động song song.
    - ví dụ em cần viết: nếu chân PC1=1 thì.... thì phải viết thế nào. Kiểu như là IF ((PINC,1)==1) .... thì sửa lại đúng là thế nào?
    while(1)
    {
    if(PINC.1)..... { làm công việc sau PINC.1}

    if(PINC.3) ..... { làm công việc PINC.3 }

    }

    Vi điều khiển sẽ không làm việc cùng 1 lúc nhiều tác vụ ... mà do làm việc theo phân chia thời gian ( làm công việc này 1 ít ... dừng lại ... làm công việc khác ... quay lại việc ban nãy ...v..v )

    sự phân bố thời gian này " do thằng lập trình " ... chứ ATMEGA8 không đủ khả năng để gọi 2 thằng liền 1 lúc !
    Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

    Comment


    • #3
      nếu muốn phát hồng ngoại bằng cách trên chân PB0 phát xung 38kHz, chân PB1 phát code dạng 1-0 được không ạ?

      Comment


      • #4
        Được bạn àh.
        Bạn dùng PWM để điều chế ra tần số 38khz và dùng một con AND là được nhé.
        Hoặc bạn có thể chỉ cần dùng PWM xuất xung và điều khiển chân PWM đó ra được tín hiệu 1 0 như bạn muốn

        Comment


        • #5
          Nguyên văn bởi agentslx2 Xem bài viết
          em lớp 12. em mới tập tọe học lập trình avr mấy hôm nay thôi (để đi thi mấy cái hoạt động lung tung và cũng là thỏa mãn sở thích ấy mà ^^). em dùng chip ATmega8 và lập trình bằng WinAVR. em mới đọc mấy bài viết hướng dẫn nội dung cơ bản thôi. em cần lập trình bằng WinAVR, ngôn ngữ C/C++ . em cần hỏi là:
          - em cần kiểm tra điều kiện trên các chân PINC0 và PINC3 (DDRC=0x00) cùng một lúc trong suốt quá trình IC hoạt động, tức là hai vòng lặp vô hạn đồng thời song song hoạt động. dùng while (1) thì không được (hoặc do em ko biết dùng thế nào!). vậy phải lập trình thế nào để có được hai hoặc nhiều vòng lặp vô hạn cùng hoạt động song song.
          - ví dụ em cần viết: nếu chân PC1=1 thì.... thì phải viết thế nào. Kiểu như là IF ((PINC,1)==1) .... thì sửa lại đúng là thế nào?
          Được bạn àh.
          Bạn dùng PWM để điều chế ra tần số 38khz và dùng một con AND là được nhé.
          Hoặc bạn có thể chỉ cần dùng PWM xuất xung và điều khiển chân PWM đó ra được tín hiệu 1 0 như bạn muốn

          Comment


          • #6
            chẹp. chưa kịp đọc đến PWM đã làm mạch mất rồi. e dùng hai con ATtiny2313 và một cặp pt2248 2249 để thu phát IR ==" biết là củ chuối, nhưng thời gian gấp không kịp tìm hiểu, thế là đành phải chịu.
            à, cái điều chế xung và cho phát ra code 01 chăc không khó, nhưng thu thì phải viết code thế nào anh nhỉ?

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X