Tải bản đầy đủ (.pdf) (11 trang)

Tài liệu Tài liệu hướng dẫn tự làm thiết bị USB (Phần 3) ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (579.71 KB, 11 trang )

Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 1 -
Phn 3:
Vit Chng Trình C# giao tip vi thit b USB
1. To Driver cho thit b và to các th vin hàm giao tip USB:
Công vic u tiên mà bn phi làm vi WinDriver  to Driver và các
th vin phn mm cho chng trình PC ca bn. Các bc tin hành bao gm:
1. n thit b ca bn vào cng USB trên máy tính computer:
2. Chy DriverWizard và chn thit b ca bn:
hình 1: M hoc to mt WinDriver Project
Chn thit b ca bn trong list ca WinDriver:
Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 2 -
Chn phát ra file Driver và ánh tên cho thit b ca bn:
Tip tc chn next ta c:
i ây bn có th kim tra vic truyn nhn qua USB xem thit b ca bn ã
hot ng cha. Vic tip theo là to ra giao din ban u và th vin trên C#.
Click và biu tng Generate Code và chn ngôn ng mà bn s dng, hin nay
ngôn ng C# thông dng vi nhiu ngi và có nhiu tin ích hn so vi VB
nên ây tôi chn nh sau:
Công vic còn li ch là OK và ch máy chy hihi.
Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 3 -
Chy Project trên Visual Studio 2005 bn có th thy WinDriver ã to cho ta
t giao din ban u  s dng các giao tip USB, bn có th s dng luôn
giao din này  thc hin theo Project ca bn:
Chú ý rng bn phi Project/ Set as Startup Project trc ã.
Nhng  giúp cho ngi mi hc có th hiu c mt cách nhanh chóng tôi
xin t to mt giao din khác n gin ngn gn hn bng vic s dng các th
vin mà WinDriver va to ra cho chúng ta. ó là hai th vin
project_usb_4550_lib.dll (th vin này do ta t nó cùng vi tên Project khi to


ra) và wdapi_dotnet921.dll hai th viên này cha các lp và các y quyn rt
u ích giúp cho vic qun lý và thc hiên giao tip bng USB.
Công vic tip theo ca chúng ta là hãy tam quên i cái giao din mà WinDriver
a to ra  trên, và bt tay vào to mt giao din ca chính chúng ta. Vi
phng châm càng n gin càng tt nên hng dn này tôi ch to mt giao
din ch vi 2 Button và 2 textBox dùng u khin nh sau:
Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 4 -
y là song bc u tiên, bc tip theo là add 2 th vin  trên vào trong
project ca mình và nghiên cu cách s dng chúng. Nu bn add thành công thì
n s thy chúng nh sau:
Ta hãy xem chúng có nhng gì ( vic s dng ch yu trên th vin
project_usb_4550_lib.dll):
Th vin này cha 4 u quyn (delegates) dành  to các s kin quan trng
i bus USB và 4 lp, trong ó 3 lp u khin thit b USB và mt lp 
Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 5 -
qun lý danh sách các thit b USB khác nhau c gán vào PC. Chúng ta hãy
quan sát c th hn vi các u quyn và các lp này:
-  quyn D_USER_ATTACH_CALLBACK  dng  gán s kin có
thit b USB thích hp gn vào bus USB vi mt hàm callback do bn to ra
thng là khi to vic truyn nhn d liu.
-  quyn D_USER_DETACH_CALLBACK c s dng  gán s
kin thit b USB ã c tháo ra vi mt hàm gi li do bn xây dng thng
là thông báo cho ngui s dng v vic Disconnect và kt thúc vic truyn nhn
-  quyn D_USER_TRANSFER_COMPLETION khá hu ích vì nó s
gán s kin truyn nhn kt thúc vào mt hàm x lý c vit d liu usb do bn
xây dng.
-  quyn D_USER_POWER_CHANGE_CALLBACK ít c s dng
n vì nó liên quan n vic báo ng thay i ngun trên bus USB, bn có th

n dng  thc hin các bin pháp bo m ct ngun bus USB khi có s c.
- p KEY_USB_Device cha các hàm  thc hin vic cài t cu hình
khác nhau cho thit b USB hay hàm c các s hiu VP, IP và hàm theo dõi
trng thái truyn nhn ca thit b:
- p KEY_USB_DeviceManager thc hin vic qun lý thit b USB và
 s lng thit b USB c gn vào:
- p KEY_USB_Pipe có s lng hàm tng i ln và chuyên dng 
c vit d liu kim tra trng thái truyn nhn, kim soát vic khi ng và
ng các ng ng…
- Lp Pipe_list thc hin qun lý các ng ng vào ra ca thit b.
p các hàm này khá linh hot và y  cho mi ng dng USB và bn cng
không cn phi tìm hiu k tt c các hàm ó vì chúng ta ch cn làm vic vi
t s hàm nht nh là  giao tip.
Bây gi là n công vic khó nht ây, ta phi vit code làm sao cho khi gn
thit b vào thì nó phi nhn c và thc hin truyn phát d liu.

×