View Single Post
Old 11-11-2008, 04:27 PM   #19
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi tungtuantu View Post
Bác namqn cho em hỏi, để định nghĩa lại các chân dât ko cùng 1 cổng như của bác, thì các code sau phải thay đổi lại như nào ah, ví dụ của em là D4 là C14, D5 là E8, D6 là D2, D7 là D1. Em dùng 30F4011
Trong code của bác dấu "_" có nghĩa là j thế ah, ví dụ _TRISF3 = 0.
Em chưa hiểu về cách cấu hình cho dspic, bác có thể nói rõ thêm ko ah,
Em đã xuất dc chữ ra LCD với CCS nhung em vẫn bị vài vấn đề như, em cho 1 ja trị value++ để xuất ra LCD thì giá trị ra cứ đến 7 (hoặc ở giá trị khác tùy vào em delay nhanh hay chậm) là reset về 0 đông fthowif lúc đó các kí tự trong LCD bì loạn lên. Hoặc khi em chỉ cho hiện chữ thôi và trong while(1) em chỉ cho nháy led, nhung led chỉ nháy dc 1 lúc rồi lại đứng yên rồi lại nháy tiếp, em đã tắt WDT bằng lênh setup_wdt(WDT_OFF) rồi, thậm chí em cho các bit trong RCON ( thanh ghi về các sự kiện resert) + 0 hết mà vẫn bị.
Nên em thử chuyển qua C30 xem hiện tượng đó còn bị ko. Mong bác giúp em
đây là đoặn em cấu hình cho chip
Code:
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES HS                       //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES PR                       //Promiary Oscillator
#FUSES NOCKSFSM                 //Clock Switching is disabled, fail Safe clock monitor is disabled
#FUSES WPSB16                   //Watch Dog Timer PreScalar B 1:16
#FUSES WPSA512                  //Watch Dog Timer PreScalar A 1:512
#FUSES PUT64                    //Power On Reset Timer value 64ms
#FUSES NOBROWNOUT               //No brownout reset
#FUSES BORV47                   //Brownout reset at 4.7V
#FUSES LPOL_HIGH                //Low-Side Transistors Polarity is Active-High (PWM 0,2,4 and 6)
   //PWM module low side output pins have active high output polar
#FUSES HPOL_HIGH                //High-Side Transistors Polarity is Active-High (PWM 1,3,5 and 7)
   //PWM module high side output pins have active high output polarity
#FUSES NOPWMPIN                 //PWM outputs drive active state upon Reset
#FUSES MCLR                     //Master Clear pin enabled
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOWRT                    //Program memory not write protected
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOCOE                    //Device will reset into operational mode
#FUSES ICS0                     //ICD communication channel 0
#FUSES RESERVED                 //Used to set the reserved FUSE bits
Bạn cần viết lại các chương trình xuất dữ liệu và xuất lệnh ra LCD (và chương trình con đọc dữ liệu từ LCD, nếu bạn có dùng nó). Code mà bạn đã post chỉ là phần cấu hình của dsPIC (trong CCS C), trong C30 thì bạn viết tương tự như trong tutorial của tôi. Thông tin về các tổ hợp cấu hình hợp lệ có trong tập tin header của dsPIC (tập tin "p30f4011.h" trong thư mục con "support\dsPIC30F\h" của thư mục cài đặt MPLAB C Compiler for dsPIC DSCs, phiên bản 3.xx).

_TRISF3 được định nghĩa là TRISFbits.TRISF3, cũng trong tập tin .h trên. Chỉ là một kiểu thay thế để viết code ngắn gọn hơn thôi.

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

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn