PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp cổng COM và LPT

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 cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 17-04-2009, 04:18 PM   #1
ThaoBinh90
Đệ tử 1 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 19
:
Bạn nói đọc hết buffer mỗi lần ngắt là xong thì có vẽ không đúng yêu cầu của mình đang làm. Ví dụ bạn chưa đọc hết buffer của ngắt trước mà lại có ngắt tiếp theo xãy ra thì vẫn còn rác trong buffer. Ý mình là mỗi khi có ngắt xãy ra thì xóa buffer và buffer chỉ chứa dữ liệu của ngắt mới nhất mà thôi.
Mình mới viết giao tiếp PIC lần đầu nên còan nhiều điều chưa hiểu lắm. Bạn nói ngắt ở đây là ngắt trên PC hay ngắt trên PIC. Ngắt trên PIC khí có dữ liệu từ PC gởi xuống từ RS232 thì mình làm rồi. Còn ngắt khi có dữ liệu từ PIC gởi lên PC qua RS232 thì mình kô biết xãy ra khi nào hết và dùng cái gì để nhận biết.
Ai có tài liệu về ngắt này hay là buffer RS232 DB9 share mình với. thanks!
ThaoBinh90 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2009, 06:33 PM   #2
cskiller
Đệ tử 4 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 89
:
Trích:
Nguyên văn bởi ThaoBinh90 View Post
Bạn nói đọc hết buffer mỗi lần ngắt là xong thì có vẽ không đúng yêu cầu của mình đang làm. Ví dụ bạn chưa đọc hết buffer của ngắt trước mà lại có ngắt tiếp theo xãy ra thì vẫn còn rác trong buffer. Ý mình là mỗi khi có ngắt xãy ra thì xóa buffer và buffer chỉ chứa dữ liệu của ngắt mới nhất mà thôi.
1. Với tốc độ của PC so với PIC và RS232 thì dư sức đọc hết, thậm chí cả xử lý xong hết đống dữ liệu trước khi có ngắt mới xảy ra.
2. Về nguyên tắc Windows sẽ không cho phép ngắt liên tiếp RS232 khi ngắt trước đó chưa xử lý xong. Nên yên tâm nếu có ngắt xảy ra nghĩa là đã xử lý xong dữ liệu đã ngắt trước đó.
__________________
Quang báo RG/RGB 6/8/12/16 bits màu
Phone No: 0905.034.086
Email: lmquyen@gmail.com
cskiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2009, 07:23 PM   #3
lequocbao
Đệ tử 6 túi
 
lequocbao's Avatar
 
Tham gia ngày: Oct 2008
Nơi Cư Ngụ: HCM
Bài gửi: 137
:
Bạn cho biết cách bạn xử lý dữ liệu khi pc nhận dữ liệu từ pic lên?
Mình đoán bạn đang dùng mảng để nhận dữ liệu qua cổng com ,mà dữ liệu có chiều dài ngắn hơn chiều dài mảng mà bạn khai báo nên thành thử khi bạn nạp mảng lần tiếp theo thì các phần tử củ của mảng (các phần tử dài hơn) vẫn còn giữ giá trị củ phải không?
vd:
bạn khai báo mảng có chiều dài =8.

lần đầu:
pic gửi lên pc :12345678--->thì mảng =[12345678]//ok đúng như ý.

kế đến:
pic gửi lên pc:456--->thì mảng =[45645678]//sai ,đúng ra phải là 45600000

hi vọng có ích cho bạn!
lequocbao 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à 09:41 PM.


Đượ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