PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp USB, CAN, I2C, SPI, USART...

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 07-07-2011, 07:17 PM   #1
notrino1506
Nhập môn đệ tử
 
Tham gia ngày: Oct 2009
Bài gửi: 4
:
Hỏi về giao tiếp của pic 16f877a và modem sim 300

Chào các sư huynh,

Em đang bị chết dí với cái giao tiếp USART của PIC và modem SIM 300 đây. Mong các sư huynh giúp đỡ.

Vấn đề của em là: dữ liệu từ MODEM SIM300 (Tx) về PortC.7 (Rx) lúc nào cũng bị SET OERR và FERR.

Em đã cố gắng test từng module một:

- Giao tiếp giữa PIC và máy tính rất chuẩn. Phát và nhận đều đẹp (em set PIC: SPBRG=D'25';TXSTA=0x26; RCSTA=90; máy tính: baudrate=9600; bit:8;stop bit=1; parity=0; flow control=none). Em có chạy debug thì dữ liệu đều chuẩn!

- Giao tiếp giữa module SIM300 và máy tính cũng vậy (máy tính vẫn set như chế độ trên)! Em gửi và nhận lệnh AT chính xác.

Nhưng khi em thử kết nối chân Tx của SIM với Rx của PIC (mục đích là chỉ để nhận dữ liệu từ SIM về PIC và lưu trong RAM khi PIC ngắt nhận data). Em test bằng các nhắn tin đến module SIM. Lần nào cũng ngắt được, nhưng lần nào cũng bị báo tràn (oerr) và (ferr). Và đơ luôn!!!

=========================================
Em coi datasheet của PIC: nó bảo là lỗi tràn là do nhiều dữ liệu đến quá mức cho phép??? Còn cái FERR là do PIC ko nhận được bit stop của dữ liệu từ SIM300???
=========================================
Em rất nghi ngờ cái baud rate của module SIM300. Vì nếu bị lỗi về lập trình thì PIC đâu thể liên lạc được với máy tính (em cũng dùng ngắt nhận dữ liệu RCIE). Nhưng lại nghe nói là SIM300 tự điều chỉnh cho phù hợp với các thiết bị được kết nối. Em không tìm cái datasheet của con SIM300 (nói về cách thức truyền; baudrate; các chế độ delay trong lúc truyền và nhận dữ liệu). Đa số em tra toàn về lệnh AT cà sơ đồ chân thôi!!
-------------------------------------------------------------------------
Túm lại, em chiến đấu với cái vụ này 3 ngày ròng rã. Test đủ kiểu nhưng vẫn thế! Trên thực tế là người ta làm đầy ra đó rồi mà em vẫn chưa làm được. Mong sư huynh nào đã từng trải qua cho em ít gợi ý nhé!!!
notrino1506 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-07-2011, 10:54 PM   #2
notrino1506
Nhập môn đệ tử
 
Tham gia ngày: Oct 2009
Bài gửi: 4
:
huhu, có ai không, giúp em với!
notrino1506 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-07-2011, 11:50 PM   #3
akatsu
Đệ tử 2 túi
 
Tham gia ngày: Aug 2010
Bài gửi: 27
:
Bạn ơi! Theo tớ nghĩ thì vẫn có cách cho nó không tràn đó. Bạn nên dùng ký tự bắt đầu và ký tự kết thúc cho tin nhắn của bạn. Vì khi đó buffer sẽ tự xóa và chỉ lưu lại những ký tự mà bạn đã đáh dấu. Thân.
PS: Bạn có thể dùng hàm strstr() để so sánh chuỗi. Như vậy có thể tk được buffer hơn. Chào bạn
akatsu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-08-2011, 10:40 AM   #4
vdk_pic
Nhập môn đệ tử
 
Tham gia ngày: Jun 2010
Bài gửi: 5
:
chào bạn AKATSU và các bạn trong 4rum, bạn có thể cho mình xin doạn code ngắt rda để làm sao nhận dữ liệu từ modun về pic dược không,mình đã làm rồi nhưng không biết làm thế nào để nhận hết dược 1 khung truyền hoàn chỉnh từ modun về pic khi mình gửi 1 tin nhắn vào modun.cám ơn tất cả mọi người.
vdk_pic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-08-2011, 03:43 AM   #5
akatsu
Đệ tử 2 túi
 
Tham gia ngày: Aug 2010
Bài gửi: 27
:
Mình cũng muốn cho lên 4rum lắm, nhưng mà các bạn thông cảm chờ vài bữa nữa nha. Bởi vì hiện tại mình đang làm 1 project liên quan đến cái này nên không tiện đưa lên diễn đàn được (sơj mất bản quyền). Khi nào xong mình sẽ post lên cho các bạn cùng góp ý. Mong các bạn thông cảm nha.
akatsu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-08-2011, 07:32 PM   #6
chuotdientu
Nhập môn đệ tử
 
chuotdientu's Avatar
 
Tham gia ngày: Nov 2009
Nơi Cư Ngụ: Ho Chi Minh City
Bài gửi: 9
:
Trích:
Nguyên văn bởi notrino1506 View Post
Chào các sư huynh,

Em đang bị chết dí với cái giao tiếp USART của PIC và modem SIM 300 đây. Mong các sư huynh giúp đỡ.

Vấn đề của em là: dữ liệu từ MODEM SIM300 (Tx) về PortC.7 (Rx) lúc nào cũng bị SET OERR và FERR.
Chào bạn, nếu bạn dùng AVR tớ có thể giúp được tí, vì tớ không rành về PIC.

Điều khiển truyền nhận SMS qua SIM300 thì tớ đã làm được, tiện đây cho tớ hỏi ké 1 câu:

Con SIM300 có chức năng phân biệt được tín hiệu DTMF không, tớ định dùng chức năng này vào con SIM300 mà chưa biết sao, mong các bạn cho biết ý kiến.
__________________
chuotdientu@gmail.com
0938.477.008
chuotdientu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2011, 03:13 PM   #7
tannhatrang
Đệ tử 1 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 11
:
Theo mình được đấy , bạn lấy chân SPK của SIM300 đấu vào con 8870 là bạn nhận được DTMF rồi.
Khi có cuộc gọi đến SIM300 gửi cho PIC RING và +CLIP số máy.bạn phải gửi lệnh ATA từ PIC đến SIM300 để cho SIM 300 kết nối cuộc gọi. khi đó chỉ cần bạn nhấn bàn phím thì SPK loa của SIM300 sẽ phát ra dtmf cho bạn nhận.
Chúc bạn thành công.
tannhatrang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-11-2011, 11:51 PM   #8
chuotdientu
Nhập môn đệ tử
 
chuotdientu's Avatar
 
Tham gia ngày: Nov 2009
Nơi Cư Ngụ: Ho Chi Minh City
Bài gửi: 9
:
Trích:
Nguyên văn bởi tannhatrang View Post
...chân SPK của SIM300 đấu vào con 8870...
Tớ đã làm như bạn nói nhưng tớ vẫn không nhận được tín hiệu DTMF (nhận từ con 8870 xử lí th chân SPK. tớ cũng dùng mấy lệnh AT để set dtmf mà vẫn không được. Tớ nghe bác nào đó trên diễn đàn nói con này không có chức năng dtmf>>--> không biết thật không, có bác nào làm rồi xin chỉ giáo.

Trích:
Nguyên văn bởi bbld View Post
..vdk và sim lại ko thấy làm gì được,gọi điện hay nhắn tin gì cũng chả được...
nếu sim300cz đã hoạt động thì phải gọi điện được chứ?? hay là gọi nó vẫn RING mà không xử lí, bạn xem kĩ lại chân truyền nhận giữa vđk và sim300 đúng không, nên nối chân truyền của sim300 với PC luôn để dễ debug.
good luck!
__________________
chuotdientu@gmail.com
0938.477.008
chuotdientu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-11-2011, 02:42 PM   #9
btv_bk
Nhập môn đệ tử
 
Tham gia ngày: Apr 2009
Bài gửi: 6
:
bác nào còn sim300 ko ? chia lại cho mình đi
sđt : 0982534460
hoặc mail : mhhaydenbentoi@gmail.com
btv_bk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-11-2011, 10:47 PM   #10
bbld
Nhập môn đệ tử
 
Tham gia ngày: Jun 2010
Bài gửi: 5
:
hic.mọi người ơi.mình cũng đang bí chỗ này,pc và sim300cz hoạt động ngon,pc và vdk hoạt động ngon,nhưng vdk và sim lại ko thấy làm gì được,gọi điện hay nhắn tin gì cũng chả được.mọi người ai có kinh nghiệm giúp mình với.
Mail:quocnhs@gmail.com
bbld vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-11-2011, 12:09 AM   #11
tannhatrang
Đệ tử 1 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 11
:
Cái này, bạn phải dùng PC để giám sát truyền nhận dữ liệu có đúng không?. nghĩa là bạn giám sát VĐK gửi ra cái gì thì SIM gửi ra cái gì. Bạn phải giám sát từng chặng 1.
tannhatrang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-12-2011, 05:03 PM   #12
bbld
Nhập môn đệ tử
 
Tham gia ngày: Jun 2010
Bài gửi: 5
:
cảm ơn chuotdientu đã theo dõi
vấn đề thế này
mình code cho con sim nhắn tin,thì ngày đầu tiên chạy được,nó gửi tin nhắn ok.tới ngày thứ 2 thì nạp lại nó ko nhắn tin gì nữa?
mình nghĩ là do sự đồng bộ giữa sim và vdk,mình xử lý bằng cách gửi nhiều lệnh AT,để sim và vdk đồng bộ với nhau
nhưng giờ thì ko làm được gì,gửi lệnh đơn giản ATDsdt để sim gọi điện vào sdt cũng ko được.
ai có cách giúp sim nhận được data gửi từ vdk thì giúp mình với,mình đã thử fix baudrate của sim là 9600 cũng ko được
bbld vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-01-2012, 03:06 PM   #13
24h_newload
Nhập môn đệ tử
 
Tham gia ngày: Dec 2009
Bài gửi: 4
:
Trích:
Nguyên văn bởi notrino1506 View Post
Chào các sư huynh,

Em đang bị chết dí với cái giao tiếp USART của PIC và modem SIM 300 đây. Mong các sư huynh giúp đỡ.

Vấn đề của em là: dữ liệu từ MODEM SIM300 (Tx) về PortC.7 (Rx) lúc nào cũng bị SET OERR và FERR.......!
Vấn đề của bạn mình cũng gặp tương tự ở AT89S.

1. Nhận dữ liệu : thường chúng ta chỉ dùng 2 chân RX, TX và GND để nhận dữ liệu. Tức là các chân 2,3, và chân 5. các chân còn lại ( xem hình 1)
http://www.papyrus.co.il/images/db9p...male_rs232.gif

Do không có dùng các chân còn lại, ko nhận biết được khi nào có dữ liệu đến, quá trình gửi - nhận dữ liệu. Nên sảy ra hiện tượng "trượt" dữ liệu trong bộ đệm.
Cho nên cần phải nhận dữ liệu ngay khi cờ báo truyền tích cực. CÓ DỮ LIỆU LÀ CHẠY ĐI LỤM NGAY KẺO MẤT. Cho nên bạn cần quan tâm vấn đề thời gian thực hiện của bạn có thể gây Delay làm "trượt" dự liệu mà bạn không biết

2. Vấn đề của bạn:
có thể là quá trình ngắt xảy ra quá nhiều, nhưng xử lý sự kiện ko kịp. Trong PIc mình không rành lắm. Nhưng kinh nghiệm của mình là xác định khi nào có dữ liệu thì "ngồi chờ có dữ liệu thì lưu trữ ngay", sau đó mới xử lý dữ liệu lưu trữ này.

P/S: Thu mua số lượng modulsim 300s 300zc 900a 900b ... các loại.có gì mua nấy. Ai có PM mình nhé. 01696920269

hcmute.edu.vn

thay đổi nội dung bởi: 24h_newload, 06-01-2012 lúc 03:23 PM.
24h_newload vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-04-2012, 05:00 AM   #14
quantrotoiyeu
Nhập môn đệ tử
 
Tham gia ngày: Apr 2012
Bài gửi: 1
:
cho minh hoi cach viet tap lenh at command de gui nhan tin nhan cho modemsim 900 giao tiep voi pic 16f877a
quantrotoiyeu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-06-2012, 06:00 PM   #15
xuanthuongth
Nhập môn đệ tử
 
Tham gia ngày: Aug 2010
Bài gửi: 2
:
mình cũng đnag làm đề tài tốt nghiệp về vấn đề sms điều khiển thiết bị. dung sim 300cz liên kết trực tiếp với pic 16f877a. bạn nào có kinh nghiệm làm rồi có thể chỉ mình đoạn code thế. mình đưa mạch nguyên lý cho các bạn coi có đúng không nha.

đây là mạch sim300cz:
http://upanhnhanh.net/images/2012/06/23/tp29.png

đây là mạch pic 16f877a
http://upanhnhanh.net/images/2012/06/23/DgOHU.png
xuanthuongth vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam