Thông báo

Collapse
No announcement yet.

Lỗi hàm __delay_ms() trong XC8

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

  • Lỗi hàm __delay_ms() trong XC8

    em mới chuyển sang code cho PIC18 bằng XC8, làm cái bài blink led, tuy nhiên khi dùng hàm __delay_ms(100) thì nó lại báo "long argument" (đại loại là thế), em giảm xuống còn __delay_ms(10) thì lại được. Trước đây khi dùng HT C thì em có thể viết lên tới 1000 cũng được (bản v9.83) nhưng XC8 lại dính lỗi này. ai biết cách khắc phục chỉ hộ em cái

    PHP Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <xc.h>
    #include "config.h"

    #define _XTAL_FREQ 20000000

    /*
     * 
     */
    int main()
    {
        
    TRISC 0x00;
        
    TRISD 0x00;

        while(
    1)
        {
           
    LATC ^= 255;
            
    __delay_ms(100);
        }
        return 
    0;


  • #2
    không dùng nên không biết

    --- sao không tự viết hàm delay mà phải phụ thuộc vào nó ?
    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
      tại em thấy nó có nên xài luôn, tự viết thấy nó ko có chính xác lắm, hồi dùng Hitech c cũng dùng delay của nó giờ chuyển sang thằng này thử xem, nhưng mà nó mới quá nên tài liệu ít

      Comment


      • #4
        Hàm này phụ thuộc vào tần số thạch anh. Tần số càng lớn thì cái tham số thời gian trễ cấp cho hàm này không lớn quá được.
        Phần mềm tự do hoặc không dùng máy tính nữa !.

        Comment


        • #5
          Nguyên văn bởi xe đạp Xem bài viết
          em mới chuyển sang code cho PIC18 bằng XC8, làm cái bài blink led, tuy nhiên khi dùng hàm __delay_ms(100) thì nó lại báo "long argument" (đại loại là thế), em giảm xuống còn __delay_ms(10) thì lại được. Trước đây khi dùng HT C thì em có thể viết lên tới 1000 cũng được (bản v9.83) nhưng XC8 lại dính lỗi này. ai biết cách khắc phục chỉ hộ em cái

          PHP Code:
          #include <stdio.h>
          #include <stdlib.h>
          #include <xc.h>
          #include "config.h"

          #define _XTAL_FREQ 20000000

          /*
           * 
           */
          int main()
          {
              
          TRISC 0x00;
              
          TRISD 0x00;

              while(
          1)
              {
                 
          LATC ^= 255;
                  
          __delay_ms(100);
              }
              return 
          0;

          Bạn vào ổ C và thư mục cài đặt chương trình rồi gõ tên các thư viện mà bạn include ở trong code rồi mở bằng notepad ra xem mã nguồn của nó thế nào mới biết vì sao sai được.

          Comment


          • #6
            Nguyên văn bởi tan0710 Xem bài viết
            Bạn vào ổ C và thư mục cài đặt chương trình rồi gõ tên các thư viện mà bạn include ở trong code rồi mở bằng notepad ra xem mã nguồn của nó thế nào mới biết vì sao sai được.
            bác này nói chuẩn nè, mấy cái lib này đều có mã mở, có thể xem được nội dung cách cấu hình bên trong nó, bạn thử xem nó phụ thuộc vào những gì
            mình cũng ko xài XC mà chỉ dùng mấy thằng như HTC nhưng mà mấy cái delay của nó phụ thuộc vào cấu hình thạch anh và nó cũng ko chuẩn cho lắm, nói chung chỉ dùng mang tính chất tương đối ko cần chuẩn xác. Nghe đâu đó mấy hàm delay đó chỉ chạy tầm dưới 200 thì chuẩn chuẩn chút còn trên 200 sai từa lưa
            Website chính thức đổi địa chỉ website thành
            Mời các bạn ghé thăm !!!

            Comment

            Về tác giả

            Collapse

            xe đạp Tìm hiểu thêm về xe đạp

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

            Collapse

            • bqviet
              Trả lời cho Đấu tắt điện cho máy tính bảng
              bởi bqviet
              Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
              06-12-2025, 17:17
            • nguyendinhvan
              Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
              bởi nguyendinhvan
              Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
              05-12-2025, 19:59
            • afrendly
              Trả lời cho Đấu tắt điện cho máy tính bảng
              bởi afrendly
              Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
              04-12-2025, 01:27
            • nick22
              Trả lời cho Máy điện châm ?
              bởi nick22
              Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
              01-12-2025, 13:23
            Đang tải...
            X