Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 1 -
Phn 3:
Vit Chng Trình C# giao tip vi thit b USB
1. To Driver cho thit b và to các th vin hàm giao tip USB:
Công vic u tiên mà bn phi làm vi WinDriver to Driver và các
th vin phn mm cho chng trình PC ca bn. Các bc tin hành bao gm:
1. n thit b ca bn vào cng USB trên máy tính computer:
2. Chy DriverWizard và chn thit b ca bn:
hình 1: M hoc to mt WinDriver Project
Chn thit b ca bn trong list ca WinDriver:
Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 2 -
Chn phát ra file Driver và ánh tên cho thit b ca bn:
Tip tc chn next ta c:
i ây bn có th kim tra vic truyn nhn qua USB xem thit b ca bn ã
hot ng cha. Vic tip theo là to ra giao din ban u và th vin trên C#.
Click và biu tng Generate Code và chn ngôn ng mà bn s dng, hin nay
ngôn ng C# thông dng vi nhiu ngi và có nhiu tin ích hn so vi VB
nên ây tôi chn nh sau:
Công vic còn li ch là OK và ch máy chy hihi.
Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 3 -
Chy Project trên Visual Studio 2005 bn có th thy WinDriver ã to cho ta
t giao din ban u s dng các giao tip USB, bn có th s dng luôn
giao din này thc hin theo Project ca bn:
Chú ý rng bn phi Project/ Set as Startup Project trc ã.
Nhng giúp cho ngi mi hc có th hiu c mt cách nhanh chóng tôi
xin t to mt giao din khác n gin ngn gn hn bng vic s dng các th
vin mà WinDriver va to ra cho chúng ta. ó là hai th vin
project_usb_4550_lib.dll (th vin này do ta t nó cùng vi tên Project khi to
ra) và wdapi_dotnet921.dll hai th viên này cha các lp và các y quyn rt
u ích giúp cho vic qun lý và thc hiên giao tip bng USB.
Công vic tip theo ca chúng ta là hãy tam quên i cái giao din mà WinDriver
a to ra trên, và bt tay vào to mt giao din ca chính chúng ta. Vi
phng châm càng n gin càng tt nên hng dn này tôi ch to mt giao
din ch vi 2 Button và 2 textBox dùng u khin nh sau:
Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 4 -
y là song bc u tiên, bc tip theo là add 2 th vin trên vào trong
project ca mình và nghiên cu cách s dng chúng. Nu bn add thành công thì
n s thy chúng nh sau:
Ta hãy xem chúng có nhng gì ( vic s dng ch yu trên th vin
project_usb_4550_lib.dll):
Th vin này cha 4 u quyn (delegates) dành to các s kin quan trng
i bus USB và 4 lp, trong ó 3 lp u khin thit b USB và mt lp
Nguyn Ngc Hng Lp TKTL 40 HVKTQS
- 5 -
qun lý danh sách các thit b USB khác nhau c gán vào PC. Chúng ta hãy
quan sát c th hn vi các u quyn và các lp này:
- quyn D_USER_ATTACH_CALLBACK dng gán s kin có
thit b USB thích hp gn vào bus USB vi mt hàm callback do bn to ra
thng là khi to vic truyn nhn d liu.
- quyn D_USER_DETACH_CALLBACK c s dng gán s
kin thit b USB ã c tháo ra vi mt hàm gi li do bn xây dng thng
là thông báo cho ngui s dng v vic Disconnect và kt thúc vic truyn nhn
- quyn D_USER_TRANSFER_COMPLETION khá hu ích vì nó s
gán s kin truyn nhn kt thúc vào mt hàm x lý c vit d liu usb do bn
xây dng.
- quyn D_USER_POWER_CHANGE_CALLBACK ít c s dng
n vì nó liên quan n vic báo ng thay i ngun trên bus USB, bn có th
n dng thc hin các bin pháp bo m ct ngun bus USB khi có s c.
- p KEY_USB_Device cha các hàm thc hin vic cài t cu hình
khác nhau cho thit b USB hay hàm c các s hiu VP, IP và hàm theo dõi
trng thái truyn nhn ca thit b:
- p KEY_USB_DeviceManager thc hin vic qun lý thit b USB và
s lng thit b USB c gn vào:
- p KEY_USB_Pipe có s lng hàm tng i ln và chuyên dng
c vit d liu kim tra trng thái truyn nhn, kim soát vic khi ng và
ng các ng ng…
- Lp Pipe_list thc hin qun lý các ng ng vào ra ca thit b.
p các hàm này khá linh hot và y cho mi ng dng USB và bn cng
không cn phi tìm hiu k tt c các hàm ó vì chúng ta ch cn làm vic vi
t s hàm nht nh là giao tip.
Bây gi là n công vic khó nht ây, ta phi vit code làm sao cho khi gn
thit b vào thì nó phi nhn c và thc hin truyn phát d liu.