Thông báo

Collapse
No announcement yet.

Không bit lỗi này là lỗi gì trong con Dspic30F4011

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

  • Không bit lỗi này là lỗi gì trong con Dspic30F4011

    Mới chập chẹ vào tìm hiểu con PIc 16bit thấy nó hay hơn hản dòng 8 bit. Nhưng mà cũng không hiểu sai phần cứng hay phần mền. Hay chip bị dei nữa, hay là bị làm sao!
    Tôi muốn điều khiển 1 con LED nhấp nháy ko hiểu tại sao mà nó không nhấp nháy nữa.
    Mạch nạp Pkit nó vẫn nhận chíp 4011 và khi nạp nó vẫn báo nạp thành công và tôi sử dụng trực tiếp nguồn của mạch nạp để điều khiển LED. Không hiểu sao chương trình viết đi viết lại cũng thế.
    Code:
    #include <p30F4011.h>
    
    _FOSC(CSW_FSCM_OFF & FRC_PLL4);
    _FWDT(WDT_OFF);
    _FBORPOR(PBOR_OFF & MCLR_EN & PWMxL_ACT_HI & PWMxH_ACT_HI);
    _FGS(CODE_PROT_OFF);
    
    unsigned int t;
    /*void delay(unsigned long m)
     {
      unsigned long n;
      for(n=0;n<m;n++)
       {;}                                       
     }*/
    int main() 
    { 
       TRISDbits.TRISD0 = 0;               //Set LED pins as outputs 
       LATDbits.LATD0 = 1;           //Turn LED RD0 on  
       //LATDbits.LATD0 = 1; 
        
    while(1)                      //Loop forever 
       { 
                
            LATDbits.LATD0 = 0; 
            for(t=0;t<10000;t++)
            for(t=0;t<2000;t++);    
            LATDbits.LATD0 = 1; 
      } 
    }
    Phân cứng thì cũng đã làm đủ mọi cách rồi! Chương trình chỉ có 1 lệnh tắt RD0 hay mở RD0 thôi! CHứ nó ko chạy lệnh tiếp theo . Có nghĩa là nó chỉ có chạy lệnh đầu và các lệnh sau nó ko chạy( chỉ Có LED tắt hoạc sáng bằng thay đổi lại lệnh thôi) ! Cho dù khi nạp xong tôi cho con trở 10K treo lên Vdd cho chân MCLR.mà cũng không được!
    Các pác trợ giúp tôi với
    Các pác xem nào?
    Phần lập trình của em :http://data2.thaibinhhoiquan.com/upl...bc7a012a69.zip

  • #2
    mình chưa thấy ai lập trình dspic dùng delay kia cả thì phải.
    t dùng timer hay ngắt đã lập trình thành công quet led 7 thanh.

    Comment


    • #3
      bạn phải delay thêm lần nữa sau câu lệnh LATD0=1, không thì led sáng rồi tắt ngay đâu có nhìn thấy
      Đã bỏ nghề về quê chăn gà...

      Comment


      • #4
        Dùng delay thì không đựoc chính xác. Nhưng ở đây tôi test chip và code xem sao! Các pác làm nhiều nên nó cũng có nhiểu nguyên nhân các pác cũng đã bit!
        Ở đây em dùng nguồn từ mạch nạp để điều khiển 1 con LED, Khi nạp xong thì có cần chú ý những gì nữa ko? Hay là cứ gắn cả mạch nạp trên đó để chạy (Vì em gắn lên bo thử mà).
        Liệu rằng chip có dei ko? chả nhé 2 con cùng dẫn nhau đi à! Khi nạp file hex cho chương trình Pickit2 thì nó có cảnh báo thế này ko bit có sao ko?

        Comment


        • #5
          Trong quá trình Write file hex thì chương trình báo thành công. Khi nhấn nút Verify thì nó báo lỗi như thế này:



          Em lập trình C30 bằng MPLAB IDE. Không bit cấu hình cho file hex của dspic30f4011 như thế nào trong Mplab?

          Comment


          • #6
            Nguyên văn bởi hang1988 Xem bài viết
            Em lập trình C30 bằng MPLAB IDE. Không bit cấu hình cho file hex của dspic30f4011 như thế nào trong Mplab?
            Nó đây
            Nguyên văn bởi hang1988 Xem bài viết
            Code:
            _FOSC(CSW_FSCM_OFF & FRC_PLL4);
            _FWDT(WDT_OFF);
            _FBORPOR(PBOR_OFF & MCLR_EN & PWMxL_ACT_HI & PWMxH_ACT_HI);
            _FGS(CODE_PROT_OFF);
            Còn chi tiết cấu hình bạn có thể reference (tham khảo) "DSPIC30Fxxxx register description" (search trong www.microchip.com )

            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


            • #7
              Em cũng thiết lập như trên mà nhưng mà khi mạch nạp nó báo thế kia nghĩa là sao? Có ảnh hường ko? Làm thế nào để bit con chip của mình đã sống hay đã chết? Em quả thực đến bg là quá ức chế rồi! Ngồi mãi mà có 1 bài đơn giản mà cũng ko ra!

              Comment


              • #8
                bạn thử qua bên picvietnam.com hỏi xem,bên đó có khá nhiều cao thủ về dspic.cái này mình chịu thôi

                Comment


                • #9
                  Nguyên văn bởi hang1988 Xem bài viết
                  Em cũng thiết lập như trên mà nhưng mà khi mạch nạp nó báo thế kia nghĩa là sao? Có ảnh hường ko? Làm thế nào để bit con chip của mình đã sống hay đã chết? Em quả thực đến bg là quá ức chế rồi! Ngồi mãi mà có 1 bài đơn giản mà cũng ko ra!
                  Thử xem lại cáp nạp, nếu cáp nạp quá dài cũng xảy ra hiện tượng lỗi trên, nếu cáp nạp dài quá, bác cắt ngắn bớt rồi nạp thử xem.
                  The goal of power electronics is control the flow of energy from an electrical source to an electrical load with high efficiency, high availability, high reliability, light weight and low cost.

                  Comment


                  • #10
                    Tôi cũng vật vã với dsPIC nhiều , nên cũng chán, vì nó được hỗ trợ ít hơn PIC 8 bit. Hồi trc cũng bị bệnh như của cậu , mà không nhớ ra là bệnh gì, và đã sửa như thế nào, thông cảm nha, khi nào nhớ sẽ báo lại, nói chung tôi thấy dsPIC mạnh nhưng khá là chuối

                    Comment


                    • #11
                      Nguyên văn bởi hang1988 Xem bài viết
                      Dùng delay thì không đựoc chính xác. Nhưng ở đây tôi test chip và code xem sao! Các pác làm nhiều nên nó cũng có nhiểu nguyên nhân các pác cũng đã bit!
                      Ở đây em dùng nguồn từ mạch nạp để điều khiển 1 con LED, Khi nạp xong thì có cần chú ý những gì nữa ko? Hay là cứ gắn cả mạch nạp trên đó để chạy (Vì em gắn lên bo thử mà).
                      Liệu rằng chip có dei ko? chả nhé 2 con cùng dẫn nhau đi à! Khi nạp file hex cho chương trình Pickit2 thì nó có cảnh báo thế này ko bit có sao ko?
                      PICkit 2 có khả năng cấp nguồn rất hạn chế, do đó tôi thường dùng mạch đích với nguồn ngoài. Nếu bạn vẫn muốn cấp nguồn cho mạch đích từ PICkit 2, bạn nên cắt giảm những ngoại vi chưa cần thiết, và phải đảm bảo là PICkit 2 thả (release) chân MCLR ra để mạch đích có thể chạy chương trình.

                      Cảnh báo của PICkit 2 nhắc bạn kiểm tra những từ cấu hình không được bạn cung cấp thông tin trong tập tin .hex để đảm bảo những giá trị của chúng là phù hợp. Hiện nay tôi thường thiết lập tường minh tất cả các từ cấu hình trong code để tránh cảnh báo này của PICkit 2, và cũng để đảm bảo dsPIC được cấu hình như ý muốn (các tutorial của tôi cho dsPIC đã cũ, không thiết lập đủ các từ cấu hình). Việc thiết lập sai các giá trị của một số từ cấu hình có thể dẫn đến chip không làm việc như mong muốn.

                      Thân,
                      Biển học mênh mông, sức người có hạn

                      Comment


                      • #12
                        Nguyên văn bởi hang1988 Xem bài viết
                        Trong quá trình Write file hex thì chương trình báo thành công. Khi nhấn nút Verify thì nó báo lỗi như thế này:



                        Em lập trình C30 bằng MPLAB IDE. Không bit cấu hình cho file hex của dspic30f4011 như thế nào trong Mplab?
                        Thông thường việc verify được tự động thực hiện ngay sau khi nạp chương trình vào dsPIC (trừ khi mục "Verify on Write" trong mênu Programmer bị bỏ chọn), tại sao bạn phải dùng nút Verify?

                        Bạn kiểm tra trong mênu Programmer của phần mềm PICkit 2 Programmer xem mục "Hold Device in Reset" có dấu chọn hay không, cần đảm bảo mục đó không có dấu chọn thì mới có thể chạy mạch đích khi vẫn nối vào PICkit 2.

                        PICkit 2 của bạn là mua hay tự chế? Nếu mua thì mua hàng của nhà sản xuất nào?

                        Vấn đề của bạn thường liên quan đến phần cứng, bạn nên đưa sơ đồ mạch thử nghiệm lên thì sẽ thuận tiện hơn cho người muốn giúp bạn.

                        Thân,
                        Biển học mênh mông, sức người có hạn

                        Comment


                        • #13
                          Nguyên văn bởi namqn Xem bài viết
                          PICkit 2 có khả năng cấp nguồn rất hạn chế, do đó tôi thường dùng mạch đích với nguồn ngoài. Nếu bạn vẫn muốn cấp nguồn cho mạch đích từ PICkit 2, bạn nên cắt giảm những ngoại vi chưa cần thiết, và phải đảm bảo là PICkit 2 thả (release) chân MCLR ra để mạch đích có thể chạy chương trình.

                          Cảnh báo của PICkit 2 nhắc bạn kiểm tra những từ cấu hình không được bạn cung cấp thông tin trong tập tin .hex để đảm bảo những giá trị của chúng là phù hợp. Hiện nay tôi thường thiết lập tường minh tất cả các từ cấu hình trong code để tránh cảnh báo này của PICkit 2, và cũng để đảm bảo dsPIC được cấu hình như ý muốn (các tutorial của tôi cho dsPIC đã cũ, không thiết lập đủ các từ cấu hình). Việc thiết lập sai các giá trị của một số từ cấu hình có thể dẫn đến chip không làm việc như mong muốn.

                          Thân,
                          Em lập trình C30 bằng Mplab .Khi em Export file hex bằng cách vào : File -> Export -> file hex thì khi nạp vào nó nó ko còn có lỗi trên. Nhưng mà chíp vẫn ko hoạt động theo ý muốn! Tại sao vậy?

                          Comment


                          • #14
                            Nguyên văn bởi namqn Xem bài viết
                            Thông thường việc verify được tự động thực hiện ngay sau khi nạp chương trình vào dsPIC (trừ khi mục "Verify on Write" trong mênu Programmer bị bỏ chọn), tại sao bạn phải dùng nút Verify?

                            Bạn kiểm tra trong mênu Programmer của phần mềm PICkit 2 Programmer xem mục "Hold Device in Reset" có dấu chọn hay không, cần đảm bảo mục đó không có dấu chọn thì mới có thể chạy mạch đích khi vẫn nối vào PICkit 2.

                            PICkit 2 của bạn là mua hay tự chế? Nếu mua thì mua hàng của nhà sản xuất nào?

                            Vấn đề của bạn thường liên quan đến phần cứng, bạn nên đưa sơ đồ mạch thử nghiệm lên thì sẽ thuận tiện hơn cho người muốn giúp bạn.

                            Thân,
                            Nhứng cái anh nói ở trên em đã check và ko bị như anh nói?
                            Pickit 2 em mua ở pnLad anh à!
                            Sơ đồ phần cứng của em rất đơn giản thôi : Em vẽ phác họa qua!

                            Comment


                            • #15
                              Nguyên văn bởi hang1988 Xem bài viết
                              Em lập trình C30 bằng Mplab .Khi em Export file hex bằng cách vào : File -> Export -> file hex thì khi nạp vào nó nó ko còn có lỗi trên. Nhưng mà chíp vẫn ko hoạt động theo ý muốn! Tại sao vậy?
                              Mạch thử nghiệm của bạn chắc là tự làm? Sơ đồ mạch thử nghiệm ra sao?

                              Thân,
                              Biển học mênh mông, sức người có hạn

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X