Thông báo

Collapse
No announcement yet.

lỗi khi giao tiếp pic 18 với chíp flash qua SPI của trình dịch HT pic

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

  • lỗi khi giao tiếp pic 18 với chíp flash qua SPI của trình dịch HT pic

    em mới chuyển sang viết C cho pic mà cảm thấy nản quá
    hồi trước em sử dụng ASM viết cho con 18f46k20 giao tiếp SPI thì không gặp vấn đề gì nhưng nay chuyển sang HT pic viết gặp một chút vấn đề mong các cao thủ giúp đỡ.

    để chuyển dữ liệu qua modun MSSP em sử dụng lệnh sau:
    unsigned char data = 60;
    SSPBUF = data;
    thì dữ liệu truyền qua SPI cứ loạn lên

    nhưng khi thay bằng đoạn mã
    SSPBUF = 0X60;

    thì lại không gặp vấn đề gì


    xem lại code ASM mà trình dịch dich ra em thấy thế này:

    nếu sử dụng đoạn mã đầu tiên thì đoạn chương trình có dạng

    MOVFF SSPBUF,DATA
    NOP


    em thử thay lại nó bằng dòng lệnh

    MOVF DATA,W
    MOVWF SSPBUF,F



    THÌ CHƯƠNG TRÌNH LẠI CHẠY BÌNH THƯỜNG
    các cao thủ cho em hỏi trong HT pic có cách nào để thay đổi cách dịch của chuơng trình không ah? hoặc là có cách nào khắc phục lỗi trên không?


    help meeeeeeeeeeeeeeee!

  • #2
    0x60 và 60 là 2 giá trị hoàn toàn khác nhau ( 0x60 dạng hexa ) = 96 hệ thập phân

    96 thì đương nhiên là khác 60 rồi .

    trong C có vài cách biểu diễn số : VD ( kiểu binary : 0b11001010; kiểu hexa : 0xCA ; kiểu thập phân : 202 )
    ngoài ra khi khai báo dữ liệu kiểu mặc định ( nếu là dữ liệu thay đổi liên tục ( biến ) ) ... thì không nên ( hoặc chú ý các) khai báo trong các chương trình con , ngắt ... mà khai báo ở toàn cục .

    vì nhiều khi gọi các chương trình con , ngắt ... mà có các giá trị khai báo ... các giá trị này sẽ bị load ... làm sai kết quả ở bộ đệm hiện thời !
    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
      em viết nhầm ah! nhưng lỗi này em fix được rùi. là do lẹnh MOVFF của pic 18 em thay lệnh đó bằng lệnh MOVFW, va lenh MOVWF là oke nhưng bây giờ nó gặp một lỗi thế này mà em khong hiểu tại sao?
      Error [491] ; 0. can't find 0x3F words for psect "rparam" in segment "COMRAM"
      vẫn là pic 18f46k20 ah

      Comment

      Về tác giả

      Collapse

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

      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