![]() |
|
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 |
|
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Mar 2008
Bài gửi: 15
: |
Trang này bị khóa rồi mà em không biết, xin lỗi
|
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Mar 2009
Bài gửi: 5
: |
Mình cần một người giúp mình viết và giải thích dùm một chương trình quét led ma trận và có thêm phần hiển thị lên led ma trận từ bàn phím có (6x6) 36 nút nhấn các ký tự ABC
Vd: ta nhập tên “thanh” thì chử sẽ được hiển thị lên led ma trận 8led ma trận 8x8 và nhấn thêm một phím nữa dể chử vừa nhập “thanh” chay theo lập trình ./. Giá cả không thành vấn đề có thể thương lượng sau,ai giúp được thì liên lạc số đt :0937567594 gặp Đạt hoặc 01226688701 gặp Phương Duy Cần gấp !!!!!!!!!!minh` ở TP HCM bạn nào ở HCM thì càng tốt |
![]() |
![]() |
![]() |
#3 |
Đệ tử 1 túi
Tham gia ngày: Jul 2008
Bài gửi: 17
: |
em mới vào tìm hiểu vì i2c có chỗ này ko hiểu lắm mong các bác giúp đỡ:vấn đề là em giao tiếp 2 con chip 16f877a.Con master gui yêu cầu xuống slave đọc adc.con slave khi đọc dữ liệu, rồi gửi dữ liệu adc đó qua i2c tới con Master.vậy em phải làm thế nào?mong các bác cho ý cao kiến.Thanks
|
![]() |
![]() |
![]() |
#4 |
Đệ tử 1 túi
Tham gia ngày: Sep 2009
Bài gửi: 16
: |
các bác ! em đang làm đồ án môn học thcn về giao thức can ! các bác có biết thì chỉ bảo giùm em với
|
![]() |
![]() |
![]() |
#5 |
Đệ tử 1 túi
Tham gia ngày: Sep 2009
Bài gửi: 12
: |
anh pic bang chủ ơi!
anh add dùm nickname của em vào box 09.em đăng nhập vào diễn đàn nhưng ko thấy hộp box 09.anh kiểm tra lại giúp em với. username :suphuhocdoi89 |
![]() |
![]() |
![]() |
#6 |
Nhập môn đệ tử
Tham gia ngày: Jul 2008
Bài gửi: 9
: |
Vấn đề ngắt i2c trong chip SLAVE
Mình có viết chương trình ngắt cho SLAVE như sau:
////////////////////////////////////////////////////////// #INT_SSP void i2c_isr() { state = i2c_isr_state(); if(state >=0x80) i2c_write(mang_truyen[state-0x80]); else if(state>0) mang_nhan[state-1]=i2c_read(); } ////////////////////////////////////////////////////////// mang_truyen gán sẵn giá trị, mang-truyen và mang_nhan riêng biệt. Trong chip MASTER, mình viết vòng lặp để ghi và đọc dữ liệu với SLAVE: ////////////////////////// while (1) { write_I2C(1,2,3,4,5,6); delay_ms(10); read_I2C(); ... } ///////////////////////// Nhưng dữ liệu nhận được từ SLAVE khi hiển thị ra LCD thì chỉ đúng trong lần read_I2C() đầu tiên. Còn khi vòng lặp while(1){...} lặp lại lần thứ 2, 3,... thì thu được dữ liệu là các số 255. không đúng theo yêu cầu. Hiện tượng trên lặp lại khi mình Reset chip SLAVE. Còn nếu Reset chip MASTER thì luôn thu được các số 255. ************************************************** **************** Các bạn giúp mình với. Cảm ơn nhiều. |
![]() |
![]() |
![]() |
#7 |
Nhập môn đệ tử
Tham gia ngày: Jul 2008
Bài gửi: 9
: |
À, mình sửa được rồi các bạn ạ!
Bên MASTER đọc liên tiếp 6 bytes, bên SLAVE mình chỉ khai báo mảng truyền 6 phần tử nên mới có hiện tượng này. Mình khai báo lại mảng truyền >6 phần tử thì lại hoạt động đúng. Như vậy là vì sao nhỉ? Mình mới lập trình nên chưa hiểu lắm! |
![]() |
![]() |
![]() |
#8 |
Nhập môn đệ tử
Tham gia ngày: Sep 2008
Bài gửi: 2
: |
Em đang chuẩn bị làm về kết nối hai vi điều khiển là 16F và dsPIC33FJMC202. Các bác cho em biết cần lưu ý điều gì, vì hai vi điều khiển nào thuộc 2 họ khác nhau, có xung nhịp khác nhau.
Cảm ơn các bác! |
![]() |
![]() |
![]() |
#9 |
Đệ tử 3 túi
Tham gia ngày: Apr 2009
Bài gửi: 53
: |
i2c
Mọi người cho em hỏi tí:
em thiết kế mạch gồm : 4 con eeprom 24c256 và 1 mạch ds1307 giao tiếp i2c. vậy em phải chọn address cho từng thiết bị như thế nào khi giao tiếp ạ : cụ thể biến address trong hàm dưới này chọn ntn ạ void write_ext_eeprom(long int address, BYTE data) { short int status; i2c_start(); i2c_write(0xa0); i2c_write(address>>8); i2c_write(address); i2c_write(data); i2c_stop(); i2c_start(); status=i2c_write(0xa0); while(status==1) { i2c_start(); status=i2c_write(0xa0); } i2c_stop(); } |
![]() |
![]() |
![]() |
#10 |
Đệ tử 3 túi
Tham gia ngày: Apr 2009
Bài gửi: 53
: |
chân A0 A1 của 4 con 24c256 nối lần lượt là 00 01 10 11.
ds1307 nối bình thường . |
![]() |
![]() |
![]() |
#11 |
Đệ tử 3 túi
Tham gia ngày: Apr 2009
Bài gửi: 53
: |
hi. chào mọi người . em giải quyết đc rùi . tại chưa đọc kĩ datasheet.
![]() |
![]() |
![]() |
![]() |
#12 |
Đệ tử 2 túi
Tham gia ngày: May 2008
Bài gửi: 28
: |
Có ai có mẫu dùng I2C bằng phần mềm cho các loại PIC k có sẵn module I2C?
|
![]() |
![]() |
![]() |
#13 |
Nhập môn đệ tử
Tham gia ngày: Jan 2010
Bài gửi: 1
: |
Mình vừa mới vào topic đã thấy mọi người nói là làm I2C với CCS, vậy không biết CCS là gì và cài đặt như thế nào, mong các pro chỉ giúp! Thanks!
|
![]() |
![]() |
![]() |
#14 |
Đệ tử 1 túi
Tham gia ngày: Oct 2008
Bài gửi: 11
: |
Các bác ơi em làm đồ án về truyền thông I2C ,nhưng em không biết khoảng cách của nó truyền được bao xa ,và có hay bị nhiễu không ,nếu muốn truyến với khoảng cách xa thì có loại IC nào hỗ trợ không ,các bác giúp em với .
Thanks |
![]() |
![]() |
![]() |
#15 | |
Trưởng lão PIC bang
|
Trích:
http://www.interfacebus.com/I2C_Inte..._Standard.html http://namqn.byethost7.com/Commu.php#i2c http://www.esacademy.com/en/library/...s/i2c-faq.html Không có con số cụ thể cho khoảng cách truyền tối đa, vì nó phụ thuộc vào tốc độ clock, loại cáp được dùng, và số vi mạch trên bus. Chú ý là có thể dùng các bộ lặp tín hiệu để nâng khoảng cá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 thay đổi nội dung bởi: namqn, 25-01-2010 lúc 12:58 PM. |
|
![]() |
![]() |
![]() |
|
|