![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#76 |
Đệ tử 2 túi
Tham gia ngày: Jun 2007
Bài gửi: 44
: |
kbd và I2C
xin lỗi các huynnh cho đệ hỏi 1 câu ngu ngóc .em muốn tìm mua một con pic loại rẻ tiền nhất mà có đáp ứng nhu cầu sau: kết nối với bàn phím 4x3 và truyền thông tin phím nhấn ra bus I2C .em chỉ cần hai tinh năng đó thôi.chú ý là loại nào có giá thấp nhất mà có bán trên thị trường Việt Nam.mong các huynh quan tâm giúp đỡ ,tiểu đệ xin cảm ơn trước.
|
![]() |
![]() |
![]() |
#77 |
Đệ tử 4 túi
Tham gia ngày: May 2007
Bài gửi: 69
: |
bạn có thể tìm con 16f887 giá hình như 48.000vnd bạn có thể liên hệ anh F
|
![]() |
![]() |
![]() |
#78 |
Đệ tử 2 túi
Tham gia ngày: Jun 2007
Bài gửi: 44
: |
bạn tiendungkct oi ! mình vừa xem datasheet of con 16f887 xong thấy nó có nhiều ký hiệu lạ trên các chân quá (trước giờ mình mới làm việc việc với con 16f877a thôi)mình thấy con 16f876/873 chỉ có 28 chân nhưng ko biết giá nó bao nhiêu nhỉ.mình o nha trang nếu mua trên picvietnam thì ko biết nhận thế nào nhỉ,và trả tiền ra sao? a nhân tiện bạn cho mình hỏi mình có thể mua bàn phím 4x3 (loại chế tạo sẵn có vỏ bọc bảo vệ ,chống nước ,vì mình muốn đặt nó ngoài trời để điều khiển mà) ở đâu và bao nhiêu?
|
![]() |
![]() |
![]() |
#79 |
Nhập môn đệ tử
Tham gia ngày: Jan 2008
Bài gửi: 4
: |
Nack
Bạn nào cho mình hỏi muốn gửi xung NACK từ Master --> slave thì làm thế nào.
Thanks |
![]() |
![]() |
![]() |
#80 | |
Trưởng lão PIC bang
|
Trích:
http://namqn.byethost7.com/Commu.php Master gửi ACK/NACK khi nó đọc từ slave, muốn làm việc này thì ở thao tác đọc chỉ cần cho phép ACK/NACK và bật/tắt bit trạng thái ACK/NACK (bật là NACK, tắt là ACK). 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 thay đổi nội dung bởi: namqn, 26-10-2008 lúc 12:31 AM. |
|
![]() |
![]() |
![]() |
#81 |
Nhập môn đệ tử
Tham gia ngày: Jan 2008
Bài gửi: 4
: |
Cam on ban Namqn. Web bạn gửi mình đọc không được. Mình dùng 2 con 16f877a giao tiếp qua i2c và lập trình css C. có phải i2c_read(0) tức là nhận dữ liệu và gửi xung NACK đi không. Mình gửi 5byte dữ liệu liên tiếp từ slave--->master, giờ cho nó dừng lại để làm việc khác nhưng không biết dừng bằng cách nào hết. Bạn cho mình biết rõ hơn về lệnh i2c_isr_state() , giá trị 0x80 và lớn hơn 0x80 khác nhau chỗ nào.
thanks. |
![]() |
![]() |
![]() |
#82 | |
Trưởng lão PIC bang
|
Trích:
Để có thể thực hiện thao tác ACK/NACK với hàm i2c_read(), bạn phải dùng 2 tham số, như trong tài liệu hướng dẫn đã viết. Nếu muốn NACK và bạn chỉ có 1 stream, bạn có thể dùng i2c_read(0, 0). Bạn cũng nên có stream = 0 trong phần dẫn hướng #use i2c. Ý nghĩa của trị trả về của hàm i2c_isr_state() đã được ghi rõ trong tài liệu hướng dẫn, 0x80 là địa chỉ khớp, cần đáp ứng bằng một hàm i2c_write(), còn 0x81 - 0xFF là hoàn thành việc phát dữ liệu, và đã nhận được ACK, cần đáp ứng bằng một hàm i2c_write(). 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 |
|
![]() |
![]() |
![]() |
#83 |
Nhập môn đệ tử
Tham gia ngày: Jan 2008
Bài gửi: 4
: |
Rắc rối I2C
Mình thực hiện truyền dữ liệu giữa 2 con Pic6f877a bằng I2C (master --> slave), sử dụng CSS C. Việc truyền từng byte thì OK, còn truyên liên tiếp nhiều byte thì mình gặp rắc rối ở chỗ sau khi truyền xong thì không dừng chương trình được. Mình nghĩ bị lỗi ở chỗ không gửi được tín hiệu Nack qua slave. Mong nhh.mecha chỉ giáo. bạn giải thích mình cách dùng i2c_read(), và i2c_read(0); làm sao để dừng giao tiếp i2c sau khi đã truyền một lúc nhiều byte.
|
![]() |
![]() |
![]() |
#84 |
Đệ tử 9 túi
|
- i2c_read(); đọc 1 byte từ bus i2c và tạo xung ACK
- i2c_read(0); đọc 1 byte từ bus i2c và tạo xung NACK, dùng trước khi i2c_stop(); kết thúc đọc dữ liệu. Muốn ghi nhiều byte liên tiếp tới SLAVE: Sau khi gửi địa chỉ, gửi liên tiếp các byte cần ghi, muốn ngừng dùng i2c_stop(); Bạn tham khảo tutorial ở trang 1 của anh F gửi, xem format ghi nhận dữ liệu. Bạn có thể gửi code lên.
__________________
Ngày mai bắt đầu từ ngày hôm nay Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này: http://www.picvietnam.com/forum//showthread.php?t=1263 |
![]() |
![]() |
![]() |
#85 |
Nhập môn đệ tử
Tham gia ngày: Jan 2008
Bài gửi: 4
: |
master - multi slave
Bạn nào đã làm giao tiếp i2c chế độ một master nhiều slave cho mình hỏi tí.
Mình dùng Css C, sử dụng 3 con pic 16f877a trong đó 1 master và 2 slave có một bàn phím ở master để điều khiển lấy dữ liệu từ slave. không hiểu sao chỉ chạy đúng được một trong 2 con, sau đó luôn gửi về giá trị 255. |
![]() |
![]() |
![]() |
#86 | |
Nhập môn đệ tử
Tham gia ngày: Sep 2007
Bài gửi: 8
: |
Trích:
- Tiện thể cho mình hỏi một chút: mình dùng Master =18f4550 và slave=16f877a địa chỉ 0x10 thì tốt, khi chuyển sang dùng 2 con đều là 18f4550 khi lại không đc, (vẫn địa chỉ 0x10) Hay ở 18f4550 con slave phải có địa chỉ khác nhỉ. Ai biết chỉ giúp mình với....xin cảm ơn trước. thay đổi nội dung bởi: tam_pascal, 22-04-2008 lúc 06:46 PM. |
|
![]() |
![]() |
![]() |
#87 |
Đệ tử 4 túi
Tham gia ngày: Jul 2006
Nơi Cư Ngụ: Bốn biển là nhà
Bài gửi: 69
: |
Cấu hình cho I2C của pic8F4431 dùng pin_D2 và pin_D3 như sau:
trường hợp 1: Code:
#include <18F4431.h> #fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,SSP_RD #use delay(clock=20000000) #use i2c(SLAVE, SDA=PIN_C4, SCL=PIN_C5, address=0xa0,force_hw,slow) Code:
#include <18F4431.h> #fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,SSP_RD #use delay(clock=20000000) #use i2c(SLAVE, SDA=PIN_D2, SCL=PIN_D3, address=0xa0,force_hw,slow) Vậy giải thích hai trường hợp này: do CCS "chuối" hay do người dùng "gà" quá?
__________________
YM: electronicltv thay đổi nội dung bởi: electronicltv, 24-04-2008 lúc 05:28 PM. Lý do: bỏ code vào thẻ code |
![]() |
![]() |
![]() |
#88 |
Nhập môn đệ tử
Tham gia ngày: Apr 2008
Bài gửi: 8
: |
![]() xin cho mình hỏi, có ai đã từng làm giao tiếp PIC16f877a với RS_485 chưa? vì mình đang thiết kế mạng dùng 485 kết nối với PIC, nếu có hướng dẫn dùm mình nha, thanks!
Anh Nam nếu biết chỉ giáo em với nha! thanks |
![]() |
![]() |
![]() |
#89 | |
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 |
|
![]() |
![]() |
![]() |
#90 | |
Nhập môn đệ tử
Tham gia ngày: Nov 2006
Bài gửi: 2
: |
Re:
Trích:
|
|
![]() |
![]() |
![]() |
|
|