Hàm delay trong c18 bị lỗi !!!???

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • handsome3746
    Thành viên mới
    • Dec 2009
    • 17

    #1

    Hàm delay trong c18 bị lỗi !!!???

    mấy sư huynh cho em hỏi tí:hình như hàm delay trong c18 không chính xác phải không ạ...
    em muốn delay 1s nhưng kết quả lại hơn 1s...
    code của em thế này:
    #include <p18f4431.h>
    #include <delays.h>
    #pragma config WDTEN = OFF
    #pragma config LVP = OFF
    #pragma config OSC = HS

    void main()
    {
    TRISB=0;
    PORTB=0;
    while (1)
    {
    PORTB=0XFF;
    Delay10KTCYx(250);
    Delay10KTCYx(250);
    PORTB=0;
    Delay10KTCYx(250);
    Delay10KTCYx(250);
    }

    bác nào giúp với...chắc em dùng timer để đếm quá...
    nhưng hơi lạ,sao hàm có sẵn lại thiếu chính xác đến vậy...hic...
    help...help...
    thanks in advance!!!
  • handsome3746
    Thành viên mới
    • Dec 2009
    • 17

    #2
    ai đó giúp mình với ... mình dùng timer đếm được rồi,nhưng thấy hơi lạ là sao lệnh delay trên lại không chính xác...

    Comment

    • rptdnmqs
      Thành viên tích cực
      • Nov 2008
      • 440

      #3
      Nói đến chính xác thì kô chính xác đâu.Chỉ có timer thôi
      , , ,

      Comment

      • ngohongthai2
        Thành viên mới
        • May 2011
        • 3

        #4
        Delay chính xác chứ, mình không biết con 18f4431 của bạn có giao động nội là bao nhiêu nhưng mình dùng con 18f4620 của mình có tần số 40MHZ, chia cho 4 được 1MHz, thời gian delay như trong Delay10KTCYx(250) của bạn sẽ tính là : (10*10^3)*250/10^6 = 2.5s. bạn cứ áp dụng cách đó mà tính

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        There are no results that meet this criteria.

        Đang tải...