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)
-   -   dsPIC từ cơ bản đến nâng cao (http://www.picvietnam.com/forum/showthread.php?t=1139)

nguyen.geo 19-06-2007 06:31 PM

Trích:

Nguyên văn bởi minhquancdt (Post 9388)
Cảm ơn anh, em làm được rồi. Đúng là do Tad quá thấp, tăng lên hợp lý, chuyển đổi ào ào ngay.

Bác minhquancdt ơi giúp em tí.
em thử đoạn chương trình mà bác viết trong ví dụ 4.2 nhưng không hiểu tại sao nó lại kô chạy mới bực mình chứ bác ạ. Em hiện tại đang dùng bản MPLAB 7.50 khi em dịch chương trình thì nó báo là:
"Tool doesn't support selected device". Bực mình quá em không hiểu thế nào. Hay là em thiết lập ở phần C30 không đúng hả bác hay bản này nó không cho dùng thằng 30F4012 hả bác.
Bác giúp em cái nhé. Thank you bác trước nhé.

falleaf 20-06-2007 02:36 PM

Bạn bấm gì để dịch? coi chừng bạn bấm vào phần debug đó. Chọn lại phần Tool là MPLAB SIM.

Chúc vui.

nguyen.geo 20-06-2007 04:38 PM

Trích:

Nguyên văn bởi falleaf (Post 9461)
Bạn bấm gì để dịch? coi chừng bạn bấm vào phần debug đó. Chọn lại phần Tool là MPLAB SIM.

Chúc vui.

Bang chủ ơi ! Bang chủ có thế giúp em các bước thiết lập để em có thể bắt đầu với DSPIC được không ạ. Như là cách thiết lập ở phần Proteject-> Set languagee Tools được không ạ. và 1 vài dòng Code Out ra 1 Port nào đó được không ạ. Vì em thấy khi là việc với một ngôn ngữ lập trình thì khó nhất là phần đầu tiên chưa biết vào ra thế nào và nó thực sự nó làm em tốn thời gian em lắm. Bang chủ Giúp em cái em đang dung bản MPLAB 7.50.

namqn 20-06-2007 06:01 PM

Trích:

Nguyên văn bởi nguyen.geo (Post 9467)
Bang chủ ơi ! Bang chủ có thế giúp em các bước thiết lập để em có thể bắt đầu với DSPIC được không ạ. Như là cách thiết lập ở phần Proteject-> Set languagee Tools được không ạ. và 1 vài dòng Code Out ra 1 Port nào đó được không ạ. Vì em thấy khi là việc với một ngôn ngữ lập trình thì khó nhất là phần đầu tiên chưa biết vào ra thế nào và nó thực sự nó làm em tốn thời gian em lắm. Bang chủ Giúp em cái em đang dung bản MPLAB 7.50.

Bạn đọc tutorial 1 ngay trong box này, đó là phần đầu tiên mà tôi đề cập khi bắt đầu viết các tutorial cho dsPIC.

Thân,

nguyen.geo 20-06-2007 06:40 PM

Trích:

Nguyên văn bởi namqn (Post 9473)
Bạn đọc tutorial 1 ngay trong box này, đó là phần đầu tiên mà tôi đề cập khi bắt đầu viết các tutorial cho dsPIC.

Thân,

Em biết ý của anh Nam mà. Điều đầu tiền là đọc bài hướng dẫn của anh đã viết ở đâu đó và nó thực sự là em đã tìm bài hướng đẫn của anh cách đây 2 tuần nhưng không thấy. tìm chỉ thấy bài hướng dẫn từ 2 trỡ lên thôi. Anh Nam hay ai biết đường Link đến bài hướng dẫn đầu tiên cho những người mới bước chân vào DSPIC ở chỗ nào thì giúp em với. Hy vọng là sẽ có nhiều người trợ giúp như Bang chủ cua PICVIETNAM.

namqn 20-06-2007 09:33 PM

Trích:

Nguyên văn bởi nguyen.geo (Post 9477)
Em biết ý của anh Nam mà. Điều đầu tiền là đọc bài hướng dẫn của anh đã viết ở đâu đó và nó thực sự là em đã tìm bài hướng đẫn của anh cách đây 2 tuần nhưng không thấy. tìm chỉ thấy bài hướng dẫn từ 2 trỡ lên thôi. Anh Nam hay ai biết đường Link đến bài hướng dẫn đầu tiên cho những người mới bước chân vào DSPIC ở chỗ nào thì giúp em với. Hy vọng là sẽ có nhiều người trợ giúp như Bang chủ cua PICVIETNAM.

Nếu bạn tìm không thấy thì hơi lạ, vì nó được dán lên cao, và có cùng kiểu tiêu đề với các tutorial khác, tên của nó là 'dsPIC Tutorial 1-Tạo và biên dịch một project (ASM30)', link của nó dưới đây:

http://www.picvietnam.com/forum//showthread.php?t=333

Thân,

minhquancdt 20-06-2007 11:52 PM

Sử dụng nhiều module cùng chân!
 
1. Em muốn sử dụng đồng thời hai hoặc nhiều module trong cùng một nhóm chân, ví dụ UART và I2C hay SPI chẳng hạn. Phải chăng thiết cấu hình từng module, xử lý dữ liệu rồi xóa cấu hình đó đi, thiết lập cấu hình module khác, xử lý dữ liệu,... Có cách nào tiện lợi hơn không anh?

2. Trong chuẩn I2C, em không tìm thấy thanh ghi nào thiết lập dspic ở chế độ master hay slave! :confused:

namqn 21-06-2007 12:46 AM

Trích:

Nguyên văn bởi minhquancdt (Post 9484)
1. Em muốn sử dụng đồng thời hai hoặc nhiều module trong cùng một nhóm chân, ví dụ UART và I2C hay SPI chẳng hạn. Phải chăng thiết cấu hình từng module, xử lý dữ liệu rồi xóa cấu hình đó đi, thiết lập cấu hình module khác, xử lý dữ liệu,... Có cách nào tiện lợi hơn không anh?

2. Trong chuẩn I2C, em không tìm thấy thanh ghi nào thiết lập dspic ở chế độ master hay slave! :confused:

1. Giả sử phần cứng được thiết kế thích hợp, chúng ta sẽ cho phép module nào đó hoạt động khi cần thiết, và cấm nó khi không cần thiết để module khác có thể sử dụng các chân dùng chung. Nguyên tắc là vậy, theo tôi biết thì không còn cách nào tiện lợi hơn. Về UART và I2C hay SPI, Microchip đã dự kiến khả năng này, do đó module UART có thể dùng các chân thay thế, nhường hẳn cặp chân chính của nó cho module I2C hay SPI.

2. dsPIC khi kích hoạt module I2C thì nó sẽ làm việc luôn ở 2 chế độ master và slave, chính xác hơn là cả 2 mạch logic cho master và slave đều cùng hoạt động. Bạn đọc tài liệu 'dsPIC30F Family Reference Manual', ký hiệu tài liệu là DS70046 (phiên bản hiện tại là DS70046E), để có thêm thông tin về module I2C cũng như những ngoại vi khác. Tôi tạm dịch một phần trong mục 21.4-Enabling I2C operation của tài liệu đó:
Trích:

The module is enabled by setting the I2CEN (I2CCON<15>) bit.
The I2C module fully implements all master and slave functions. When the module is enabled, the master and slave functions are active simultaneously and will respond according to the software or the bus events.
When initially enabled, the module will release SDA and SCL pins, putting the bus into the Idle state. The master functions will remain in the Idle state unless software sets a control bit to initiate a master event. The slave functions will begin to monitor the bus. If the slave logic detects a Start event and a valid address on the bus, the slave logic will begin a slave transaction.
Trích:

Module được cho phép (hoạt động) bằng cách bật bit I2CEN (bit I2CCON<15>).
Module I2C hiện thực đầy đủ tất cả các chức năng master và slave. Khi module được cho phép, các chức năng master và slave được kích hoạt đồng thời và sẽ đáp ứng tương ứng với các sự kiện phần mềm hay trên bus.
Ban đầu khi được cho phép, module sẽ thả các chân SDA và SCL, đặt bus vào trạng thái Idle. Các chức năng master sẽ ở trạng thái Idle trừ khi phần mềm đặt một bit điều khiển để kích hoạt một sự kiện master. Các chức năng slave sẽ bắt đầu giám sát bus. Nếu logic slave phát hiện một sự kiện Start và một địa chỉ hợp lệ trên bus, logic slave sẽ bắt đầu một giao tác slave.
Hy vọng đã giải đáp thắc mắc của bạn.

Thân,

bigtitan 30-06-2007 12:28 AM

Thấy chỗ này có nhiều người coi nhất,cho em hỏi tí,thanh ghi PORT và LAT trong dsPIC hình như hơi giống nhau,thế có đặc điểm gì xuất hiện thêm thanh ghi LAT nữa,...
Đề nghị này hơi quá tí:có ai có tutor nào chi tiết giống như bác F ko ạ,mới tìm hiểu hơi không hiểu một vài thứ,như thanh ghi.cú pháp lệnh,cách đặt tên biến(dấu"__")mà mấy anh đi lẹ quá,nên e hơi đuối...

namqn 30-06-2007 02:27 AM

Trích:

Nguyên văn bởi bigtitan (Post 9692)
Thấy chỗ này có nhiều người coi nhất,cho em hỏi tí,thanh ghi PORT và LAT trong dsPIC hình như hơi giống nhau,thế có đặc điểm gì xuất hiện thêm thanh ghi LAT nữa,...
Đề nghị này hơi quá tí:có ai có tutor nào chi tiết giống như bác F ko ạ,mới tìm hiểu hơi không hiểu một vài thứ,như thanh ghi.cú pháp lệnh,cách đặt tên biến(dấu"__")mà mấy anh đi lẹ quá,nên e hơi đuối...

Tôi đã nói ở post #68 trong luồng này về hoạt động read-modify-write của các lệnh thao tác thanh ghi ngoại vi:

http://www.picvietnam.com/forum/showthread.php?t=5

Để giải quyết vấn đề đó, từ PIC18 và sau này là các dsPIC30F, PIC24, dsPIC33F, các cổng ngoại vi luôn có 2 thanh ghi liên quan là LATx và PORTx. Quy tắc đơn giản để tránh rắc rối với các lệnh có hoạt động read-modify-write:

- Khi muốn xuất ra port ngoại vi thì ghi vào LATx
- Khi muốn đọc từ port ngoại vi thì đọc từ PORTx

Thân,

scentoflove 25-07-2007 12:11 AM

Trong TUT về UART của anh Nam có khai báo chuổi "Xin chào !" trong vùng psv. Anh Nam cho e hoi vùng psv nay là gi vậy, em đọc datasheet của ds33F Family thì có đề cập MCU va DSP instruction, e đọc nhưng ko hiểu lắm anh có thể giải thích về chổ này ko?

caonam 25-07-2007 12:54 AM

Trích:

Nguyên văn bởi scentoflove (Post 10304)
Trong TUT về UART của anh Nam có khai báo chuổi "Xin chào !" trong vùng psv. Anh Nam cho e hoi vùng psv nay là gi vậy, em đọc datasheet của ds33F Family thì có đề cập MCU va DSP instruction, e đọc nhưng ko hiểu lắm anh có thể giải thích về chổ này ko?

Phải chăng là cái này
Trích:

# On some 33F pre-release devices, DMA memory overlaps the Program Space Visibility (PSV) window. In order to allocate variables in DMA space, the constants-in-data memory model must be selected.
Xem thêm ở đây
http://ww1.microchip.com/downloads/e...03_README.html

namqn 25-07-2007 02:51 AM

Trích:

Nguyên văn bởi scentoflove (Post 10304)
Trong TUT về UART của anh Nam có khai báo chuổi "Xin chào !" trong vùng psv. Anh Nam cho e hoi vùng psv nay là gi vậy, em đọc datasheet của ds33F Family thì có đề cập MCU va DSP instruction, e đọc nhưng ko hiểu lắm anh có thể giải thích về chổ này ko?

Lấy một datasheet của dsPIC nào đó (dsPIC30F4012 chẳng hạn), ở mục Core Overview có giải thích về PSV (Program Space Visibility). Tôi tóm lược ý như sau: Một trong hai cách truy xuất dữ liệu trong vùng nhớ chương trình là ánh xạ 16k word bộ nhớ chương trình vào vùng 32k byte nằm ở vùng địa chỉ cao của không gian bộ nhớ dữ liệu. Phương pháp truy xuất này được gọi là PSV (Program Space Visibility). Khi đó có thể dùng các phương pháp truy xuất bộ nhớ dữ liệu để truy xuất vùng nhớ chương trình đã được ánh xạ đó. Trang 16k nào được ánh xạ phụ thuộc vào giá trị của thanh ghi PSVPAG.

Các trình hợp dịch và biên dịch đã có các hàm hay macro có sẵn để xác định địa chỉ trang và địa chỉ bắt đầu trong trang đó của 1 vùng nhớ cụ thể (đã được định nghĩa và gán giá trị trước đó, chẳng hạn như các chuỗi hằng). Do đó chúng ta chỉ cần đặt giá trị thích hợp (địa chỉ trang PSV của vùng dữ liệu cần truy xuất) vào thanh ghi PSVPAG, sau đó lấy địa chỉ offset của vùng dữ liệu (hằng) cần truy xuất vào một thanh ghi chỉ số nào đó chẳng hạn, và truy xuất như là nó đang nằm trong RAM dữ liệu (tất nhiên đây là các dữ liệu chỉ đọc, trong trường hợp bình thường).

Thân,

hungtdh_bk 04-08-2007 03:29 AM

E mới tìm hiểu về pspic.các đại ca cho e hỏi vấn đề này:
E đã đọc về chức năng của các chân CN (change notification pin) của pspic trong dspic30F reference manual nhưng vẫn chưa hiểu cặn kẽ các ngắt được tạo ra ở các chân này có tác dụng để làm gì,dùng trong những trường hợp nào?
Mong các đại ca chỉ giúp e .

namqn 04-08-2007 11:54 PM

Trích:

Nguyên văn bởi hungtdh_bk (Post 10514)
E mới tìm hiểu về pspic.các đại ca cho e hỏi vấn đề này:
E đã đọc về chức năng của các chân CN (change notification pin) của pspic trong dspic30F reference manual nhưng vẫn chưa hiểu cặn kẽ các ngắt được tạo ra ở các chân này có tác dụng để làm gì,dùng trong những trường hợp nào?
Mong các đại ca chỉ giúp e .

Các chân này sẽ tạo ngắt khi tín hiệu đưa vào chân đổi thay đổi trạng thái logic, có thể dùng để đếm sự kiện bên ngoài (encoder chẳng hạn). Việc tạo ngắt khi tín hiệu thay đổi trạng thái cho phép tăng độ phân giải, vì nó sẽ đếm cả cạnh lên và cạnh xuống của tín hiệu.

Thân,


Múi giờ GMT. Hiện tại là 01:38 PM.

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