Thông báo

Collapse
No announcement yet.

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

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

  • 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

  • #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


    • #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


      • #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


        • #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


          • #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


            • #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


              • #8
                note
                KO phải ứng dụng nào cũng có LCD ah
                Last edited by nhatson.elec; 29-05-2009, 14: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...
                X