![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 3 túi
Tham gia ngày: Dec 2006
Bài gửi: 60
: |
interrupt in pic18 và CC1000
PIN_C0 là chân nhận tín hiệu clock từ chip khác. Mỗi khi có cạnh xuống của chân C0 thì mình truyền 1 bit dữ liệu qua chân C1.
Cho mình hỏi là có interrupt cho cổng input C0 không vậy? nếu không thì có cách nào để solve cho trường hợp này. Xin giúp mình với. mình đang dùng 18F2620 và giao tiếp với cc1000 thay đổi nội dung bởi: littlephoc, 26-01-2007 lúc 08:57 PM. |
![]() |
![]() |
![]() |
#2 |
PIC Bang chủ
|
Óe, bạn làm cái này từ đầu à? Viết lại từ driver, đến các layer thấp?
Thế này chết ngắc, lao vao đề tài này... chà... căng... bác nào hướng dẫn bạn vậy? Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
![]() |
#3 |
Đệ tử 3 túi
Tham gia ngày: Dec 2006
Bài gửi: 60
: |
Việc lập trình để truyền nhận dữ liệu wireless dùng transceiver cc1000 cũng chỉ là step đầu tiên của đề tài. sau đó còn cả 1 chặng đường dài bác ạ. ông GS người Hàn đang hướng dẫn mình. Tuy nhiên cũng toàn là tự mình mày mò thôi, ổng chỉ là người xem xét và đưa ra các lời khuyên cho những idea của mình.
Vì hardware được bên công ty người ta design nên mình chỉ có thể viết soft theo hardware. Mình cũng đề xuất ý kiến là nối tắt chân RC0 với chân RB2 (vì RB0 và RB0 đã được dùng) để dùng INTn của chân này, nhưng chưa được chấp thuận. Hiện tại mình cũng dùng vòng while loop để xử lý và thấy cũng chuối quá. Problem của mình là việc truyền nhận dữ liệu với CC1000. Bác nào đã có kinh nghiệm với con CC1000 cho mình hỏi về cách thức viết 1 routine cho nó với ạ. |
![]() |
![]() |
![]() |
#4 |
PIC Bang chủ
|
Nếu bạn học thạc sĩ thì đề tài này làm được. Vì thấy bạn hỏi câu hỏi cơ bản mà lại làm đề tài kiểu này thì đúng là sống dở chết dở.
Bạn nên mô tả kỹ hiện tượng, thì mới có thể giúp bạn được. Còn về thiết kế, công ty thiết kế cũng chỉ vài người, có thể sản phẩm còn đang thử nghiệm... chưa biết được. Cho nên anyway, thì bạn nên trình bày cụ thể hơn hoạt động tại chân đó, những gì cố định, những gì khôgn cố định, như vậy mọi người mới giúp bạn được. Chúc vui.
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
![]() |
#5 |
Đệ tử 3 túi
Tham gia ngày: Dec 2006
Bài gửi: 60
: |
Mình nêu vấn đề cụ thể như sau:
chân RC0 = DCLK (input), RC1 = DIO(output) Theo manual, DCLK pin của CC1000 nên được kết nối đến 1 input pin có thể sinh ra interrupt trên MCU. DIO nên được nối với 1 bi-direction I/O pin. Ở TX mode, interrupt sẽ được kích hoạt mỗi khi có cạnh xuống của DCLK. Khi interrupt xảy ra, MCU sẽ xuất ra 1 bit dữ liệu cần truyền ra DIO. Tín hiệu DCLK được điều khiển bởi CC1000 Theo thiết kế phần cứng được dùng của 1 manual, chân DCLK được nối với pin RB0. Bởi có thể dùng INTn để kích hoạt interrupt ngoài. Theo thiết kế phần cứng hiện tại của thiết bị mình đang dùng thì chân DCLK được nối với RC0. Mà mình đọc manual thì không thấy nói interrupt trên chân RC0. Vậy cho nên mình phải dùng while loop để detect cạnh xuốgn tín hiệu của DCLK. Xin hỏi còn cách nào khác không ? (Nói dài quá mà cuối cùng hỏi 1 câu ngắn ngủn) |
![]() |
![]() |
![]() |
#6 |
Đệ tử 3 túi
Tham gia ngày: Dec 2006
Bài gửi: 60
: |
falleaf ơi, chuyện học master hay học cái gì sao lại ảnh hưởng đến việc làm được hay khôgn được đề tài này thế bác ?
Mình cũng đagn chập chững từng bước đầu tiên với lập trình cho vi điều khiển. Trước giờ chỉ biết những hệ thống to đùng thôi ![]() |
![]() |
![]() |
![]() |
#7 |
Trưởng lão PIC bang
|
Trong nhiều cách khả dĩ để cải thiện tình hình, em nên dùng bit-banging cho các chân dùng cho cấu hình (PDATA, PCLK) vì clock do vi điều khiển tạo ra, và dùng các chân của mô đun SPI/I2C cho phần trao đổi dữ liệu, vì clock của phần này do CC1000 tạo ra. Khi đó có thể dựa vào cơ chế xử lý ngắt có sẵn của PIC để đáp ứng với mỗi xung clock.
Nếu dùng các chân ngắt ngoài của PIC, hay dùng cách trên thì đều phải thay đổi thiết kế phần cứng. Nếu có thể thì tự thay đổi trên một prototype, và đề xuất thiết kế đó cho bên phần cứng nếu nó đã chạy tốt. Thật lạ là người thiết kế phần cứng không hiểu những yêu cầu này, và thiết kế phần cứng theo kiểu tùy ý, và để gánh nặng lại cho người lập trình xử lý. 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 |
![]() |
![]() |
![]() |
#8 |
Đệ tử 3 túi
Tham gia ngày: Dec 2006
Bài gửi: 60
: |
oh, anh Nam cho 1 idea thật hữu ích trong trường hợp này. Cảm ơn anh nhiều.
|
![]() |
![]() |
![]() |
#9 |
Đệ tử 3 túi
Tham gia ngày: Dec 2006
Bài gửi: 60
: |
Hiện em đã cắt đường nối từ cổng DCLK của CC1000 đến PIN_C0 và nối DCLK với PIN_B0.
Cho hỏi 1 đoạn mã CCS (đầy đủ) để dùng interrupt cấp ưu tiên HIGH cho ngắt ngoài (#INT_EXT FAST) nhận tín hiệu ở cổng RB0 ạ? xin cảm ơn nhiều. |
![]() |
![]() |
![]() |
#10 | |
Trưởng lão PIC bang
|
Trích:
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 |
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Dạy bang chủ học PIC18 | falleaf | Cơ bản về vi điều khiển và PIC | 145 | 18-04-2012 05:50 PM |
Pic18 voi USB | Khanhnghia | Cơ bản về vi điều khiển và PIC | 2 | 24-02-2009 11:41 PM |