Search This Blog

Friday, November 23, 2018

Using Parallel Port on Linux with C++

Linux ပေါ်မှာ Paraller port ကို digital input output တွေ အနေနဲ့ အသုံးပြု ဖို့ [Lin15a,Coo08a] C++ class နဲ့ နမူနာ ပရိုဂရမ် တွေကို အောက်က link မှာ တွေ့နိုင် ပါတယ်။

https://github.com/yan9a/parallel-port


Figure 1. wxWidgets example using paraller port as digital output and input.


cePPort class ကို သုံးဖို့ အတွက် ပရိုဂရမ်ရဲ့ အစမှာ header ကို ထည့်ပြီး၊ သူ့အတွက် namespace ce ကို ကြေငြာ ဖို့ လိုပါတယ်။

#include "cePPort.h"
using namespace ce;


Data register နဲ့ Control register တွေကို ရေးဖို့ အတွက် WrD နဲ့ WrC စတဲ့ method တွေကို သုံးနိုင်ပြီး၊ status register ကို ဖတ်ဖို့ အတွက် RdS ဆိုတဲ့ method ကို သုံးနိုင်ပါတယ်။ နမူနာ အနေနဲ့ cePPort အတွက် instance တစ်ခု ကြေငြာပြီး၊ ဒေတာ bit 3 မှာ 1 ကို ထုတ်ပေးပြီး၊ status register ရဲ့ bit 7 (busy pin) ကို ဖတ်တဲ့ ကုဒ် ကို အောက်ပါ အတိုင်း တွေ့နိုင် ပါတယ်။

  cePPort p;
  p.WrD(1,3);
  unsigned char r=p.RdS(7);


အကိုးအကားများ

[Lin15a] LinuxGeek. Parallel port control in Linux. 2015.
url: https://www.htlinux.com/parallel_port_control_in_linux.

[Coo08a] Cool Emerald. Parallel Port as IO. 2008.
url: http://cool-emerald.blogspot.com/2008/03/parallel-port-as-io.html.