Tính chu kì xung clock với C

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • nhaduy99
    Thành viên chính thức
    • Jan 2009
    • 56

    #1

    Tính chu kì xung clock với C

    Mình là dân mewbie khi viết C cho VDK, nhưng không biết tính chu kì xung clock cho các lệnh trong C như thế nào.
    VD:
    int a,b; //Dòng này bao nhiêu xung clock?
    a=5; //Dòng này bao nhiêu xung clock?
    b = 10;//Dòng này bao nhiêu xung clock?
    a = a + b;//Dòng này bao nhiêu xung clock?

    if (ĐK) //Dòng này bao nhiêu xung clock?
    {
    Công việc 1;
    }
    else
    {
    Công việc 2;
    }
    for (i=0;i<n;i++) //Dòng này bao nhiêu xung clock?
    {
    Công việc;
    }

    While(ĐK) //Dòng này bao nhiêu xung clock?
    {
    }
    ..................
    Và một số lệnh C cơ bản khác
    Xin các huynh chỉ dẫn cho tiểu đệ
    Thanhks in advance
    Tự động hóa hôm nay cho một thế hệ robot mai sau
  • quoc_thaibk
    Thành viên tích cực
    • Mar 2006
    • 766

    #2
    Có nhiều cách để biết:
    -Tra mã disassembly của IDE để biết đoạn tương ứng -->Cách này hơi lâu
    -IDE thường có bộ code simulator để biết code hoạt động thế nào thường đính kèm theo tiện ích stop-watch dùng tiện ích này mô phỏng thử những đoạn code của bạn xem tốn bao nhiêu chu kì máy
    -Còn có những cách thực tế khác như JTAG, hay dùng OSC để đo...

    Sông dài, Thuyền lớn, Biển rộng bao la.
    Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

    Comment

    • quocdat_dtvt
      Thành viên tích cực
      • Nov 2007
      • 213

      #3
      hình như dùng avr simulation là thấy được hay sao đấy
      ĐỪNG KHÓC CHO NHỮNG GÌ ĐÃ QUA, MÀ HÃY CƯỜI CHO NHỮNG ĐIỀU SẮP TỚI!

      Comment

      • nhaduy99
        Thành viên chính thức
        • Jan 2009
        • 56

        #4
        Vậy có sách hay ebook nào đề cập đến vấn đề này không các bác?
        Tự động hóa hôm nay cho một thế hệ robot mai sau

        Comment

        • nhatson.elec
          Thành viên tích cực
          • Nov 2008
          • 699

          #5
          Thông thường để do chính xác người ta làm các note bằng IO, ví dụ khi bắt đầu thực hiện 1 func người ta on 1 IO rồi kết thúc người ta lại tắt IO,

          Dùng digital osciloscope để đo chính xác xem mất bao nhiêu time.

          b/r

          Comment

          • nhaduy99
            Thành viên chính thức
            • Jan 2009
            • 56

            #6
            Vậy còn cách nào khác nữa ko các bác?
            Tự động hóa hôm nay cho một thế hệ robot mai sau

            Comment

            • Kilodeth
              Thành viên tích cực
              • May 2006
              • 253

              #7
              cách khác nữa là khởi động một timer, tùy theo tác vụ cần đo nhanh hay chậm mà config timer tương ứng. Xong hết hiển thị giá trị timer lên LCD hay serial

              Nếu chỉ tính riêng mỗi dòng hoặc đoạn ngắn thì bạn mở file list (*.lst) có cột hiển thị chu kỳ máy
              Code:
                               ;173       while(!TMR1_OVR);
                               _0x8:
              000085 b7e8      	IN   R30,0x38
              000086 70e4      	ANDI R30,LOW(0x4)
              000087 f3e9      	BREQ _0x8
                               ;174       CLEAR_TMR1_OVR;
              000088 b7e8      	IN   R30,0x38
              000089 60e4      	ORI  R30,4
              00008a bfe8      	OUT  0x38,R30
              Đẹp từng kilomét

              Comment

              • nhatson.elec
                Thành viên tích cực
                • Nov 2008
                • 699

                #8
                note
                KO phải ứng dụng nào cũng có LCD ah
                Last edited by nhatson.elec; 29-05-2009, 13:05.

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                Đang tải...