Thông báo

Collapse
No announcement yet.

DS1307 không get được số 8 & 9

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

  • DS1307 không get được số 8 & 9

    chào các bác,
    mình đang làm RTC với chú ds1307 gặp 1 vấn đề mà suy nghĩ mãi vẫn không tỏ,mong các huynh đệ chỉ giúp,
    mình đang vọc ds1307 và hiển thị lên led 7 đoạn,led 7 đoạn test ok,có điều khi mình hiển thị thời gian lên led 7 đoạn thì tất cả đều ok,giờ,phút giây hay ngày tháng năm,tuy nhiên chỉ có 1 cái lỗi thôi đó là thay vì hiển thị số 8,9 thì nó lại hiên thị số 6,7 (5 thay cho 8 và 6 thay cho 9)ví dụ thay vì 08 thì 05,thay vì 59 thì 56,mình đang nghi ngờ chỗ hàm BCD2DEC
    static
    u8 I2C_BCD2DEC(u8 BCD){
    u8 L,H;
    L = (BCD & 0x0F);
    H = (BCD >> 4)*10;
    return ((u8)((H+L)-1)/2);
    }
    vì hắn chỉ trả về toàn số lẻ (1,3,5,7....)nên mình mới dùng ct ((H+L-1)/2)??????
    hay là do cái hàm nhận data từ i2c của mình ta???haizzz khó hiểu quá,
    mong các bác chỉ giúp.
    thanks all
    các vấn đề về sdcard, usb, tcp/ip, upgrate firmware,...
    trên các dòng chip: stm32, lpc of nxp
    please cell phone: 01649895559

  • #2
    haizz,vấn đề mình đã giải quyết xong xuôi,bằng cách liệt các số mà có sự thay đổi đó vào 1 danh sách đen (được 12 chú) thế rồi mỗi lần nhận ra các chú ấy thì + 3 đơn vị nữa haizzz,cách này cùi chuối chấm muối quá,có ai biết nguyên nhân gốc rễ của hắn không nói cho mình biết với,
    thanks
    các vấn đề về sdcard, usb, tcp/ip, upgrate firmware,...
    trên các dòng chip: stm32, lpc of nxp
    please cell phone: 01649895559

    Comment


    • #3
      cái hàm của bạn sao thấy hay thế, bạn gửi cái code với sơ đồ mạch lên xem thử

      Comment


      • #4
        Chương trình thấy là lạ.
        Lỗi có thể do mã hex hiển thị ra 7seg bị sai.
        Tốt hơn hết thì nên up code lên.

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X