اطلاعیه

Collapse
No announcement yet.

کنترل خروجی lpt

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کنترل خروجی lpt

    سلام
    من با پورت موازی و input32.dll کار کردم و از 8 تا خروجیش با هم استفاده کردم
    حالا من با 7 تاش دارم کار میکنم و یک سری اطلااعات رو بخ خروجی میدم ولی مشکل اینجاست که من میخوام با پایه d7 که عددش 128 به صورت مجزا کار کنم یعنی 7 تای اول از 8 تا دارن کار خودشونو انجام میدن و پین شماره هشتم رو میخوام مثل یه پالس مربعی روشن وخاموش کنم . باید چیکار کنم که تداخل نداشته باشن
    در میکرو مثلا میتونیم set portb.7
    reset portb.7
    آیا رو پورت هم میشه؟
    { خلاف قوانین - پاک شد }

    #2
    پاسخ : کنترل خروجی lpt

    آره میشه.
    خروجی رو با استفاده از یک تابع منحصر بفرد به lpt ارسال کن.
    در این تابع مقدار ارسالی قبل از ارسال بایستی در یک متغیر ذخیره بشه و در صورت نیاز برای شناسائی مقداری که روی پورت وجود داره از این مقدار استفاده بشه.
    مثال:


    static unsigned char outVal;

    void outByte(unsigned char c)
    {
    outVal = c;

    outportb( 0x378, c );
    }

    void setBits(unsigned char mask)
    {
    outByte( outVal | mask );
    }

    void clrBits(unsigned char mask)
    {
    outByte( outVal & (~mask) );
    }

    void cplBits(unsigned char mask)
    {
    outByte( outVal ^ mask );
    }

    دیدگاه

    لطفا صبر کنید...
    X