![]() |
|
|
| Hardware Interfacing in C# .NET framework programming. | |||||
Parallel Port Interfacing in C#.NET Programming English Page Click Here Introduce เขียนโปรแกรมติดต่อ Parallel Port ด้วย C#.NET อ่านก่อนนะจ๊ะ
ก่อนจะทำการเขียนโปแกรม เราอยากจะขอทำความเข้าใจอีกครั้งสำหรับเรื่องที่ไม่สามารถติดต่อ I/O Port ได้โดยตรง ใน OS NT, 2000 and XP เหมือนอย่างเช่นที่ทำใน Windows98 โดยใช้ฟังก์ชั่น "outportb" เพราะ เจ้า kernel และบรรดา printer drivers ไม่อนุญาต ถ้าคุณมี multi boot menu เลือก Windows 98, มันจะเริ่มไม่มีไฟออกที่วงจร ถ้าเราทำใน Win2000 และ XP หลอดไฟทั้ง 8 ดวงคือ on ดังนั้นเรารู้ว่าสัญญาณกลับมาแล้วหลังจากที่เรา Registry kernel ด้วย Printer Driver.
งการเขียนโปแกรมติดต่อพอร์ต Download Source Code + inpout32.dll files
เราจะ inpout32.dll ในโปรแกรมนี้อีกแล้วครับ. คุณสามารถ download inpout32.dll ที่เราให้ไป หลังจากเอามันไปไว้ใน "Windows/System32 ".
งเราจะสร้าง Form1.cs เราจะเขียนโค๊ดในหน้านี้ลงใน view code window โดยมีโค๊ดดังต่อไปนี้
เอ้าอย่างนี้,เรื่องหลักๆใน Form1.cs ของเราคือ PortAccess.Output. เราจะต้องใส่ค่าในสองตัวแปรนั้น ด้วย address ของ Printer Port และค่า ที่จะให้ แต่ละบิตทำงาน ถ้าคุณมีค่า data ports คือ "0x378" คุณจะต้องมีการเขียนAddress Port เป็น "888" เพราะ "378" คือเลขฐาน16 คือมันจะมีค่าเท่ากับ "888" ในเลขฐานสิบ ง่ะ. (ค่าปกติของ LPT1 คือ "378") ถ้าคุณใช้ LPT2 ซึ่งคือ "0x278" คุณจะต้องมีการเขียนAddress Port เป็น "632" สำหรับตัวอย่างการเรียกใช้งานลองดูโค๊ดต่อไปนี้ครับ
ถ้าต้องการส่งค่าให้ทุก Pin ใน Port นั้นเป็น "0" มีวิธีเขียนดังนี้
ผมเขียนฟังก์ชั้น Reset LED ซึ่งเอาไปต่อกับ Printer Port แล้วนั้น ดังนี้ครับ
เพื่อความเร็วในการนำเสนอและเอาแต่แก่นสารสำคัญของการเขียนโปแกรม C# ติดต่อ Printer Port มาอธิบาย ที่ไม่ลงรูปภาพว่าทำ GUI อย่างไร คงไปศึกษาดูได้ใน Source code นะ เพราะกล่าวมาหลายบทความแล้วง่ะ หรือพวกเงื่อนไขอื่นๆที่จะให้มันทำงาน อันนั้น ก็ไปประยุกต์ใช้เองนะ ระบบที่รองรับ
สำหรับการจะรันโปรเจ็คนี้
|
|||||