PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   dsPIC - Bộ điều khiển tín hiệu số 16-bit (http://www.picvietnam.com/forum/forumdisplay.php?f=29)
-   -   Chú ý khi sử dụng bộ dao động nội của dsPIC (http://www.picvietnam.com/forum/showthread.php?t=326)

namqn 05-03-2006 08:10 PM

Chú ý khi sử dụng bộ dao động nội của dsPIC
 
Khi thử nghiệm dsPIC với Tiny Bootloader, tôi nhận ra có một số dsPIC có tần số trung tâm (center frequency) của bộ dao động nội (internal oscillator) không đúng với datasheet của hãng sản xuất. Điều này cũng đã được một số người dùng xác nhận trên diễn đàn của Microchip. Chẳng hạn, các chip sau đây đã được tôi đo tần số dao động nội bằng dao động ký:

dsPIC30F2010 7.53 MHz (datasheet: 8 MHz)
dsPIC30F3010 7.34 MHz (datasheet: 8 MHz)
dsPIC30F3011 7.34 MHz (datasheet: 8 MHz)
dsPIC30F3014 7.41 MHz (datasheet: 8 MHz)
dsPIC30F4011 7.72 MHz (datasheet: 8 MHz)
dsPIC30F4013 7.41 MHz (datasheet: 8 MHz)

Do đó, nếu bạn có ý định sử dụng bộ dao động của dsPIC thì nên kiểm tra tần số của nó trước.

Thân,

phamthaihoa 21-03-2006 06:37 PM

Trích:

Nguyên văn bởi namqn
Khi thử nghiệm dsPIC với Tiny Bootloader, tôi nhận ra có một số dsPIC có tần số trung tâm (center frequency) của bộ dao động nội (internal oscillator) không đúng với datasheet của hãng sản xuất. Điều này cũng đã được một số người dùng xác nhận trên diễn đàn của Microchip. Chẳng hạn, các chip sau đây đã được tôi đo tần số dao động nội bằng dao động ký:

dsPIC30F2010 7.53 MHz (datasheet: 8 MHz)
dsPIC30F3010 7.34 MHz (datasheet: 8 MHz)
dsPIC30F3011 7.34 MHz (datasheet: 8 MHz)
dsPIC30F3014 7.41 MHz (datasheet: 8 MHz)
dsPIC30F4011 7.72 MHz (datasheet: 8 MHz)
dsPIC30F4013 7.41 MHz (datasheet: 8 MHz)

Do đó, nếu bạn có ý định sử dụng bộ dao động của dsPIC thì nên kiểm tra tần số của nó trước.

Thân,

Bác nói hoàn toàn chính xác, chính điều này khiến bootloader một số trường hợp không làm việc.Trong bộ tiny bootloader có file hex cho dspic6014 là 7.3MHz. A` bác có bootloader cho 4013 không ?

namqn 21-03-2006 06:54 PM

Trích:

Nguyên văn bởi phamthaihoa
Bác nói hoàn toàn chính xác, chính điều này khiến bootloader một số trường hợp không làm việc.Trong bộ tiny bootloader có file hex cho dspic6014 là 7.3MHz. A` bác có bootloader cho 4013 không ?

Tôi có Tiny Bootloader cho tất cả dsPIC từ 201x đến 401x. Tôi đã dịch sẵn một số cấu hình tôi cho là hiệu quả với từng chip. Nếu bạn cần thì cho tôi biết cấu hình mà bạn muốn dùng.

Thân,

phamthaihoa 21-03-2006 07:07 PM

Bác cho em xin một bản với. Hiện em vẫn dùng ICSP để nạp cho 4013. Có bootloader thì tốt quá. Cảm ơn anh ! phamthaihoa@gmail.com
Bác namqn quả đúng là cao thủ PIC. Em thử config lại nhưng không ăn thua. Em đang làm dspic. Có gì khó sẽ hỏi bác.

namqn 21-03-2006 07:13 PM

Trích:

Nguyên văn bởi phamthaihoa
Bác cho em xin một bản với. Hiện em vẫn dùng ICSP để nạp cho 4013. Có bootloader thì tốt quá. Cảm ơn anh ! phamthaihoa@gmail.com
Bác namqn quả đúng là cao thủ PIC. Em thử config lại nhưng không ăn thua. Em đang làm dspic. Có gì khó sẽ hỏi bác.

Vậy bạn muốn dùng cấu hình như thế nào?
Thông thường, tốt hơn thì ta nên dùng cấu hình cho bootloader giống như cấu hình của chương trình ứng dụng, vì hiện thời thì bootloader chưa hỗ trợ cấu hình lại các config. word.

Thân,

ThanhPhuc 30-03-2006 10:00 PM

Anh có thể gởi cho em 1 bản bootloader dùng dspic 4011 ,dùng thạch anh 7,3728Mhz,PLLx4 (hoặc PLLx16 ).Nếu có thể anh cho đoạn cod khai báo cách dùng UART.Cám ơn anh nhiều.
mail :thuyphuc81@yahoo.com

namqn 31-03-2006 07:12 PM

1 Attachment(s)
Trích:

Nguyên văn bởi ThanhPhuc
Anh có thể gởi cho em 1 bản bootloader dùng dspic 4011 ,dùng thạch anh 7,3728Mhz,PLLx4 (hoặc PLLx16 ).Nếu có thể anh cho đoạn cod khai báo cách dùng UART.Cám ơn anh nhiều.
mail :thuyphuc81@yahoo.com

Tôi post lên đây để nếu có bạn khác cần dùng thì tôi không phải gởi email cho từng người.
Chip sẽ dùng cấu hình sau:
Code:

config        __FOSC, CSW_FSCM_OFF & XT_PLL4
config        __FWDT, WDT_OFF
config        __FBORPOR, MCLR_EN & PBOR_OFF
config        __FGS, CODE_PROT_OFF

Đoạn mã sau đặt cấu hình cho UART (dùng main I/O của UART1, giống như của bootloader):
Code:

mov        #0x8000, W0        ;bit15=UARTEN  bit10=ALTIO, use Main IO
mov        W0, U1MODE
mov        #0x0400, W0        ;bit10=UT1EN
mov        W0, U1STA
mov    #(((7372800*4/115200) / 16) - 1), W0
mov    w0, U1BRG

Tập tin .hex cho bootloader được đính kèm phía dưới. Bootloader này dùng với thạch anh ngoài có tần số 7.37 MHz, tốc độ baud là 115200, chip sẽ dùng PLLx4.

Thân,

hanhluckyly 31-03-2006 07:38 PM

Bac namqn oi bac co chuong trinh file hex nap bootloader cho pic18F458 ma tan so la 40MHz khong neu co share cho minh voi cam on rat nhieu

namqn 31-03-2006 10:47 PM

1 Attachment(s)
Chip sử dụng cấu hình dưới đây:
Code:

        CONFIG        OSC = HS, OSCS = OFF
        CONFIG        PWRT = ON, BOR = ON, BORV = 27
        CONFIG        WDT = OFF, WDTPS = 128
        CONFIG STVR = ON, LVP = OFF, DEBUG = OFF

Tập tin .hex được đính kèm phía dưới. Bootloader này làm việc với thạch anh ngoài 40 MHz (tôi khuyên không nên dùng thạch anh ở tần số này, vì chip sẽ khá nóng), tốc độ baud là 38400. Bạn thử xem có chạy tốt không nhé, vì tôi không có thạch anh 40 MHz để thử.

Thân,

Grp 01-04-2006 05:26 PM

Chào bác namqn, em có ý định sửa mã bootloader để dùng cho dspic4013, (theo hướng dẫn của tác giả) tuy nhiên em mò IDDevice không được, bác có thể chỉ giúp em được không?
Nếu không, bác có thể cho em file hex được ko? Em dùng UART1, Xtal 7,3728*PLL16.
Many thanks!

falleaf 01-04-2006 08:13 PM

Vài ngày nữa, picvietnam sẽ công bố việc chuẩn hoá tiny bootloader và mạch nạp ICSP. Trong báo cáo chi tiết sẽ cung cấp toàn bộ các thông tin kèm theo, và có đầy đủ file đính kèm.

Hiện tại chúng tôi chưa công bố chi tiết vì còn chờ làm các báo cáo cuối cùng và kiểm tra lại.

PIC Việt Nam sau thời gian làm việc khoảng 2 tuần đã đề ra chuẩn nạp của picvietnam và hy vọng sẽ được áp dụng rộng rãi trong cả nước. Chúng tôi sẽ có các báo cáo chi tiết trong tuần sau.

Chúc vui.

namqn 01-04-2006 08:54 PM

1 Attachment(s)
Trích:

Nguyên văn bởi Grp
Chào bác namqn, em có ý định sửa mã bootloader để dùng cho dspic4013, (theo hướng dẫn của tác giả) tuy nhiên em mò IDDevice không được, bác có thể chỉ giúp em được không?
Nếu không, bác có thể cho em file hex được ko? Em dùng UART1, Xtal 7,3728*PLL16.
Many thanks!

Device ID của dsPIC30F4013 là 0x0141, bạn có thể tìm thấy các thông tin liên quan cho toàn bộ các chip dsPIC30F trong tài liệu sau:
http://ww1.microchip.com/downloads/e...Doc/70102F.pdf

Trong trường hợp bạn không thành công thì có thể dùng tập tin .hex dưới đây, dùng với bộ dao động nội của dsPIC (xấp xỉ 7.37 MHz, như tôi đã thông báo ở post đầu tiên), UART1, tốc độ baud 115200, và PLLx16. Các word cấu hình khác tương tự như của Claudiu Chiculita.

Thân,

Grp 02-04-2006 04:01 PM

Cám ơn bác namqn.

Trước em cũng đã dùng iddevice của 4012 thay cho 4013 nó nhận được chíp nhưng lại không read/write flash được, em cứ nghĩ là tại chưa đưa đúng iddevice. Sau khi chạy chương trình bác cho em mới thấy là không phải.

Connect COM1: ok
Searching for PIC ...
Found:ds4011/4012

Connect COM1: ok
HEX: 5 days old, INHX32,dsPICcode, total=8084 bytes.
Searching for PIC ...
Found:ds4011/4012
Could not write
ERROR!

Nếu có thể bác chỉ cho em chỗ sai với nhé.

namqn 02-04-2006 06:28 PM

Trích:

Nguyên văn bởi Grp
Cám ơn bác namqn.

Trước em cũng đã dùng iddevice của 4012 thay cho 4013 nó nhận được chíp nhưng lại không read/write flash được, em cứ nghĩ là tại chưa đưa đúng iddevice. Sau khi chạy chương trình bác cho em mới thấy là không phải.

Connect COM1: ok
Searching for PIC ...
Found:ds4011/4012

Connect COM1: ok
HEX: 5 days old, INHX32,dsPICcode, total=8084 bytes.
Searching for PIC ...
Found:ds4011/4012
Could not write
ERROR!

Nếu có thể bác chỉ cho em chỗ sai với nhé.

Những thông báo trên là của bootloader do bạn tự viết hay của bootloader tôi đã post lên? Nếu là từ bootloader tôi đã post lên thì có khả năng tập tin .hex của bạn có vấn đề.
Bạn có thể post tập tin .hex mà bạn đang dùng để thử lên đây được không?

Thân,

Grp 03-04-2006 09:52 AM

Đấy là file em tự viết, còn cái của bác chạy tốt lắm. Em cũng đã xem file hex của bác thấy nó khác của em xa, đây là cái của em.

:020000040000fa
:08000000407f04000000000035
:020000040000fa
:10fe8000cf88200080ff20000001880000000000d3
:10fe900000002800601088000040200070108800da
:10fea000f0002000a0108800048020002f00070030
:10feb000114cb1003a003a0052c7b30082108800da
:10fec000b2c4b300821088008006eb0004802000da
:10fed00046002000250007000603e900fdff3a0068
:10fee0000c4080001340800093018800160620001b
:10fef0001e0007000603e900fdff3a000d00e000c8
:10ff000003003200e2c4b30082108800eeff370025
:10ff1000000ebb00100424000060fe000a00070071
:10ff2000448020001f00080003000000345ebb0076
:10ff30003456bb0034cebb000c86e8001000240011
:10ff400001000700deff3700003b8800500520005d
:10ff5000303b8800a00a2000303b880061e7a80001
:10ff60000000000000000000000006001a01200050
:10ff70000b0020000e02ae0004003700911080003c
:10ff8000015a78008dc64000000006000060fe00a7
:10ff90008b05e900f7ff3a000a05e900f4ff3a0093
:08ffa0000c22ef00b2ff370054
:020000040000fa
:0200000401f009
:04000000e7ff000016
:020000040000fa
:0200000401f009
:04000400ff7f00007a
:020000040000fa
:0200000401f009
:040008007fff000076
:020000040000fa
:0200000401f009
:04001400ffff0000ea
:020000040000fa
:10000800dc7f0000dc7f0000dc7f0000dc7f00007c
:10001800dc7f0000dc7f0000dc7f0000dc7f00006c
:10002800dc7f0000dc7f0000dc7f0000dc7f00005c
:10003800dc7f0000dc7f0000dc7f0000dc7f00004c
:10004800dc7f0000dc7f0000dc7f0000dc7f00003c
:10005800dc7f0000dc7f0000dc7f0000dc7f00002c
:10006800dc7f0000dc7f0000dc7f0000dc7f00001c
:10007800dc7f0000dc7f0000dc7f0000dc7f00000c
:10008800dc7f0000dc7f0000dc7f0000dc7f0000fc
:10009800dc7f0000dc7f0000dc7f0000dc7f0000ec
:1000a800dc7f0000dc7f0000dc7f0000dc7f0000dc
:1000b800dc7f0000dc7f0000dc7f0000dc7f0000cc
:1000c800dc7f0000dc7f0000dc7f0000dc7f0000bc
:1000d800dc7f0000dc7f0000dc7f0000dc7f0000ac
:1000e800dc7f0000dc7f0000dc7f0000dc7f00009c
:0800f800dc7f0000dc7f00004a
:020000040000fa
:10010800dc7f0000dc7f0000dc7f0000dc7f00007b
:10011800dc7f0000dc7f0000dc7f0000dc7f00006b
:10012800dc7f0000dc7f0000dc7f0000dc7f00005b
:10013800dc7f0000dc7f0000dc7f0000dc7f00004b
:10014800dc7f0000dc7f0000dc7f0000dc7f00003b
:10015800dc7f0000dc7f0000dc7f0000dc7f00002b
:10016800dc7f0000dc7f0000dc7f0000dc7f00001b
:10017800dc7f0000dc7f0000dc7f0000dc7f00000b
:10018800dc7f0000dc7f0000dc7f0000dc7f0000fb
:10019800dc7f0000dc7f0000dc7f0000dc7f0000eb
:1001a800dc7f0000dc7f0000dc7f0000dc7f0000db
:1001b800dc7f0000dc7f0000dc7f0000dc7f0000cb
:1001c800dc7f0000dc7f0000dc7f0000dc7f0000bb
:1001d800dc7f0000dc7f0000dc7f0000dc7f0000ab
:1001e800dc7f0000dc7f0000dc7f0000dc7f00009b
:0801f800dc7f0000dc7f000049
:020000040000fa
:10ffa800000800008c0000000000000000000000b5
:020000040000fa
:04ffb8000000fe0047
:00000001FF

(Híc híc, thật ra đây là lần đầu tiên em dùng assembler, vì thế em chỉ sửa lại file 4012.s những thông số cho phù hợp với phần cứng của em thôi).

namqn 03-04-2006 10:17 PM

Trích:

Nguyên văn bởi Grp
(Híc híc, thật ra đây là lần đầu tiên em dùng assembler, vì thế em chỉ sửa lại file 4012.s những thông số cho phù hợp với phần cứng của em thôi).

Nếu bạn chưa quen với assembler thì đọc tutorial 1 đi, vài hôm nữa tôi sẽ post tutorial 2. Khi đã quen với assembler rồi thì bạn có thể quay lại cái bootloader này để thử sức.

Thân,

ThanhPhuc 19-04-2006 05:11 PM

Cám ơn anh Namqn nhiều,em đã thử và sửa được chương trình bootloader cho dsPic rồi,em xin bổ xung thêm :Cần khai báo max_flash tương ứng với dsPic xử dụng.Trường hợp dùng int osc có thể hiệu chỉnh tần số dao động bằng cách thay đổi các bit TUNES của thanh ghi OSC reg.
Anh có dùng C30 để viết chương trình cho dspic không? Em dùng chương trình nầy,nhưng khi xử dụng lệnh : printf thì gặp lỗi : Erro: a heap is required.Mong anh giúp em khắc phục lỗi nầy.

namqn 19-04-2006 08:26 PM

1 Attachment(s)
Nếu bạn có dùng lệnh thư viện vào/ra (input/output) thì trình liên kết yêu cầu bạn mô tả heap, mặc dù nó có thể là một heap trống (không chứa gì cả).
Nếu bạn chỉ dùng lệnh printf để xuất thông tin ra stdout thì chỉ cần chọn lệnh mênu Project->Build Options ... ->Project, sau đó đến thẻ MPLAB LINK30, gõ vào giá trị 0 tại ô mô tả heap size, như hình minh hoạ dưới đây.
Chúc thành công!

Thân,

ThanhPhuc 22-04-2006 09:42 AM

Anh cho em hỏi thêm việc khai báo kích thước của heap có liên quan đến độ lớn của trường dử liệu cần xuất khi dùng printf ? ví dụ khi xuất buf[100].

namqn 22-04-2006 08:37 PM

Kích thước của heap chỉ thực sự quan trọng khi bạn sử dụng các hàm cấp phát bộ nhớ động của C, chẳng hạn như malloc(), free(). Khi bạn chỉ sử dụng các hàm vào/ra trong thư viện stdio, trình liên kết yêu cầu có khai báo heap, nhưng các hàm này không hề sử dụng heap, do đó bạn có thể đặt nó bằng 0.

Thân,

ThanhPhuc 23-04-2006 04:34 PM

Anh mở thêm luồng trao đổi về dsPIC để các bạn có thể học hỏi thêm ,công cụ để thử đã có bootloader ở trên.Chúc anh sức khỏe.

escapevn 24-04-2006 11:57 AM

Bác Namqn ơi, bác share file bootloader của con 3012 và 3013 cho em được không?
Thanks bác nhìu nhìu.

namqn 24-04-2006 07:03 PM

Như bình thường, bạn phải cho tôi biết cấu hình của chip mà bạn muốn, cùng với tốc độ baud, cổng USART mà bạn muốn dùng. Khi đó tôi mới có thể dịch ra một cái bootloader phù hợp với nhu cầu sử dụng của bạn.

Thân,

BinhAnh 24-04-2006 09:13 PM

Để đỡ mất thời gian, các bạn có thể cấu hình config bằng cách sửa ngay trong chương trình nạp luôn. Như thế sẽ nhanh hơn. Tuy nhiên nếu dùng các dao động tần số khác nhau hay cách đặt cổng Uart kết nối khác nhau thi buộc phải edit lại code.
Thạch anh 7.xxx tại Hà Nội có hàng Mai Khanh có bán đó, vậy là thuân lơi rồi.

Mọi người nếu có công việc liên quan tới PIC thì nên tìm hiểu dspic. Nếu đã từng làm PIC rồi thì nói hơi quá nhưng một ngày bạn có thể tiếp cận được với PIC ở mức độ làm chủ phần MCU.

doannh 25-04-2006 08:23 AM

Trích:

Nguyên văn bởi namqn
Trong trường hợp bạn không thành công thì có thể dùng tập tin .hex dưới đây, dùng với bộ dao động nội của dsPIC (xấp xỉ 7.37 MHz, như tôi đã thông báo ở post đầu tiên), UART1, tốc độ baud 115200, và PLLx16. Các word cấu hình khác tương tự như của Claudiu Chiculita.

Cho em hoi: UART1 của dsPic30f4013 có thêm một cặp chân mở rộng là U1ATX, U1ARX vậy file boot của anh sử dụng cặp chân bình thường (U1RX,U1TX) hay cặp chân mở rộng trên ạ?
Em đang sử dụng MPLAB C30 bản Full để viết cho 30f4013 khi select device là 30f4013 thì không chạy(vẫn dịch ra file .hex được) nhưng chọn thiết bị là 30f4011 thì lại Ok. Có phải C30 nó bị lỗi không ạ?

namqn 25-04-2006 06:03 PM

Trích:

Nguyên văn bởi doannh
Cho em hoi: UART1 của dsPic30f4013 có thêm một cặp chân mở rộng là U1ATX, U1ARX vậy file boot của anh sử dụng cặp chân bình thường (U1RX,U1TX) hay cặp chân mở rộng trên ạ?
Em đang sử dụng MPLAB C30 bản Full để viết cho 30f4013 khi select device là 30f4013 thì không chạy(vẫn dịch ra file .hex được) nhưng chọn thiết bị là 30f4011 thì lại Ok. Có phải C30 nó bị lỗi không ạ?

Tôi sử dụng cặp chân bình thường (U1TX và U1RX).
Tôi cho rằng C30 không có lỗi, bạn hỏi rất chung chung như thế thì khó mà trả lời cho chính xác được. Tôi chỉ có thể khuyên bạn một cách rất chung chung là kiểm tra phần cứng, các từ cấu hình, và chương trình của bạn.

Thân,

escapevn 27-04-2006 12:20 AM

Bác Namqn à, em dùng thạch anh 7.3728, PLLx16 và PLLx8, UART1 thôi. Bác gửi cho em mấy file dùng cho con 3012 nhé. Cảm ơn bác nhiều.

namqn 27-04-2006 06:07 PM

1 Attachment(s)
Tôi dùng main I/O cho UART1, cấu hình như bạn yêu cầu.

Thân,

escapevn 28-04-2006 10:12 AM

Thanks bác Namqn nhiều lắm.

phamthaihoa 14-09-2006 12:52 PM

Trích:

Nguyên văn bởi namqn (Post 2219)
Chip sử dụng cấu hình dưới đây:
Code:

        CONFIG        OSC = HS, OSCS = OFF
        CONFIG        PWRT = ON, BOR = ON, BORV = 27
        CONFIG        WDT = OFF, WDTPS = 128
        CONFIG STVR = ON, LVP = OFF, DEBUG = OFF

Tập tin .hex được đính kèm phía dưới. Bootloader này làm việc với thạch anh ngoài 40 MHz (tôi khuyên không nên dùng thạch anh ở tần số này, vì chip sẽ khá nóng), tốc độ baud là 38400. Bạn thử xem có chạy tốt không nhé, vì tôi không có thạch anh 40 MHz để thử.

Thân,

Làm sao phải dùng thạch anh 40Mhz hả anh ?

Con 18F458 nếu muốn dùng 40Mhz --> 10MIPS chỉ cần cắm con thạch anh 10Mhz rồi config là:

Trích:

LIST P=18F458 ; change also: Configure->SelectDevice from Mplab
xtal EQU 40000000 ; you may want to change: _XT_OSC_1H _HS_OSC_1H _HSPLL_OSC_1H
baud EQU 115200 ; standard TinyBld baud rates: 115200 or 19200

và dùng config đầu tiên dùng PLL

Trích:

__CONFIG _CONFIG1H, _OSCS_OFF_1H & _HSPLL_OSC_1H

namqn 14-09-2006 06:14 PM

Ừ, dùng cách đấy hay hơn, anh không để ý đến PLLx4 của PIC18F458.

Nhưng dù sao chạy ở 10 MIPS thì vẫn phải để ý đến vấn đề phát nóng của chip.

Thân,

Wpic 13-08-2007 11:59 AM

Các bác cho e hỏi chút! E đang dùng thử con dspic30F4012 nhưng gặp vấn đề về khởi động cho UART.
+ Khi khởi động chế độ thạch anh nội của nó thì truyền OK nhưng truyền toàn kí tự lạ
+ Còn khi dùng chế độ thạch anh ngoài của nó với bau 19200,PLLx8 thì nó chẳng chạy chương trình j trong nó cả(thử xuất đèn LED cũng k được)
Các bác thử chẩn bệnh của nó hộ với.Cảm ơn các bác trước

namqn 14-08-2007 02:27 AM

Trích:

Nguyên văn bởi Wpic (Post 10694)
Các bác cho e hỏi chút! E đang dùng thử con dspic30F4012 nhưng gặp vấn đề về khởi động cho UART.
+ Khi khởi động chế độ thạch anh nội của nó thì truyền OK nhưng truyền toàn kí tự lạ
+ Còn khi dùng chế độ thạch anh ngoài của nó với bau 19200,PLLx8 thì nó chẳng chạy chương trình j trong nó cả(thử xuất đèn LED cũng k được)
Các bác thử chẩn bệnh của nó hộ với.Cảm ơn các bác trước

1. Bạn có biết chính xác tần số dao động nội của dsPIC không? Bạn đã thiết lập các thông số phía thu đúng chưa?

2. Bạn có đảm bảo là chip đang chạy thạch anh ngoài hay không? Bạn dùng thạch anh tần số bao nhiêu và thiết lập từ cấu hình thế nào?

Chú ý: PIC/dsPIC thường có các phản ứng bất thường khi bạn viết code mà không xác định đầy đủ các từ cấu hình.

Thân,

conglong 23-03-2009 06:34 PM

Trích:

Nguyên văn bởi namqn (Post 10706)
Chú ý: PIC/dsPIC thường có các phản ứng bất thường khi bạn viết code mà không xác định đầy đủ các từ cấu hình.

Thân,

Thấy Nam cho em hỏi là: khi mình viết chương trình cho dsPic/Pic thì phải cấu hình cho nó trước nhưng thực sự e không hiểu rõ hết các từ cấu hình mà thầy dùng trong các TUTO của thầy:

" _FOSC(CSW_FSCM_OFF & XT); //Clock = 10 MHz
_FWDT(WDT_OFF);
_FBORPOR(MCLR_EN & PBOR_OFF & PWMxL_ACT_HI & PWMxH_ACT_HI);
_FGS(CODE_PROT_OFF); "

ở đây CSW_FSCM là gì hả thầy? WDT_OFF là watchdog đang ở chế độ tắt nhưng em chưa hiểu rõ Watchdog ? trong RFM document của dsPic 30 nói mấy thanh ghi này trừu tượng quá đọc mà không hiểu.
Em cảm ơn Thầy nhiều !.
Trân trọng !.

namqn 23-03-2009 07:50 PM

Trích:

Nguyên văn bởi conglong (Post 23917)
Thấy Nam cho em hỏi là: khi mình viết chương trình cho dsPic/Pic thì phải cấu hình cho nó trước nhưng thực sự e không hiểu rõ hết các từ cấu hình mà thầy dùng trong các TUTO của thầy:

" _FOSC(CSW_FSCM_OFF & XT); //Clock = 10 MHz
_FWDT(WDT_OFF);
_FBORPOR(MCLR_EN & PBOR_OFF & PWMxL_ACT_HI & PWMxH_ACT_HI);
_FGS(CODE_PROT_OFF); "

ở đây CSW_FSCM là gì hả thầy? WDT_OFF là watchdog đang ở chế độ tắt nhưng em chưa hiểu rõ Watchdog ? trong RFM document của dsPic 30 nói mấy thanh ghi này trừu tượng quá đọc mà không hiểu.
Em cảm ơn Thầy nhiều !.
Trân trọng !.

CSW viết tắt cho Clock Switching, là khả năng chuyển đổi giữa các nguồn xung clock (Primary, Secondary, FRC, và LPRC) khi dsPIC đang vận hành bình thường. Xem thêm mục 7.17 trong "dsPIC30F Family Reference Manual" về cách thực hiện clock switching.

FSCM viết tắt cho Fail-Safe Clock Monitor, là khả năng giám sát hoạt động bộ dao động và tự động chuyển sang nguồn FRC nếu bộ dao động có vấn đề.

Watchdog là một timer chạy tự do (khi được bật), dùng để tự động reset dsPIC khi phần mềm chạy sai, ví dụ quẩn trong một vòng lặp vô tận, và không thể định kỳ xóa thanh ghi timer của watchdog.

Thân,

trinh 25-09-2010 11:16 PM

ko dịch được chương trình bootloader cho ds30f4013
 
Chào anh Nam .
Anh có thể cho em chương trình và files Hẽ của bootloader cho dspic30f4013 với cấu hình như sau :
- dùng Dsoic30f4013
- Thạch anh dùng thạch anh nội với 7,5 MIPS hoặc 7,37
- Cổng truyền thông dùng loại UART2.
- Tốc độ truyền thông là 19200 Baud.
trong đoạn code dspic30f4013.gld như sau.

MEMORY
{
data (a!xr) : ORIGIN = 0x800, LENGTH = 2048
program (xr) : ORIGIN = 0x000, LENGTH = ((16K * 2))
}

Anh vui long cho em files bootloader với .

Cảm ơn anh.

Email của em : cuocsong12@yahoo.com


Múi giờ GMT. Hiện tại là 09:24 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam