ايران ويج

نسخه‌ی کامل: يه كم اسمبلي
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
دوستان سلام!
يه سوال ديگه :

چطوري مي توان براي "پين" هاي پورت برنامه نوشت؟
ببينيد من نمي خواهم يک مقداري را به "پورت" بفرستم بلکه مي خواهم مثلا "پين شماره يک" فلان پورت را مقدار دهي نمايم. خواستم بدانم چه راهي وجود دارد؟

با سپاس
كيميا كنجماو
كيميا سوالاتت خيلي خفنه ، من منتظر شدم ببينم كسي جواب درست و حسابي داره ولي فعلا بي جواب مونده ، ببين يه پين رو فك نكنم بشه توي يه پورت مقدار دهي كرد ولي يه كار ميشه كرد بصورت مدام يه مقدار خاص رو به پورت ارسال كرد در اين صورت (اون مقدار خاص بايد طوري باشه كه دقيقا اون پين رو مقدار بده) پين شما هميشه مقدار داره.
اين تنها چيزي بود كه به ذهنم رسيد
آقا اشكان لطفا شما نخونيد
... (شما در حال خروج از اين صفحه هستيد . آقا اشكان!)


شما هيچ مي دونيد كه خيلي با حاليد؟!!
من تا بحال «ان» تا سوال پرسيدم هيچكدومشون روجواب نداديد...
.... حق داشت :cry: :cry: :cry: مي گفت كه بچه هاي ايران ويج ....
واقعا كه...
اولا سوالت خيلي خيلي سخته. اصلا يه جوريه؟! :wink:
اين جواب اون چندتا نقطه بالا
اما بعد. براي پورت سريال ! اين انكدينگش:
کد:
Bits    Function
5..7    Select baud rate
                000- 110 baud
                001- 150
                010- 300
                011- 600
                100- 1200
                101- 2400
                110- 4800
                111- 9600

3..4    Select parity
                00- No parity
                01- Odd parity
                10- No parity
                11- Even parity

2       Stop bits
                 0-One stop bit
                 1-Two stop bits
0..1    Character Size
                 10- 7 bits
                 11- 8 bits
اين هم يه كد اسمبلي ناز براي 8 بيت داده و دو بيت وقفه يا بهتر بگمStop bit:
کد:
mov     ah, 0           ;Initialize opcode
                mov     al, 10100111b   ;Parameter data.
                mov     dx, 0           ;COM1: port.
                int     14h
حال اگه بخواهيم يه كاركتر عبور بديم. اين متن رو بخون شايد بتونه بهت كمك كنه؟!
This function transmits the character in the al register through the serial port specified in the dx register. On return, if ah contains zero, then the character was transmitted properly. If bit 7 of ah contains one, upon return, then some sort of error occurred. The remaining seven bits contain all the error statuses returned by the GetStatus call except time out error (which is returned in bit seven). If an error is reported, you should use subfunction three to get the actual error values from the serial port hardware.

Example: Transmit a character through the COM1: port
کد:
mov     dx, 0           ;Select COM1:
                mov     al, 'a'         ;Character to transmit
                mov     ah, 1           ;Transmit opcode
                int     14h
                test    ah, 80h         ;Check for error
                jnz     SerialError

This function will wait until the serial port finishes transmitting the last character (if any) and then it will store the character into the transmit register.
اينهم نمايه يه پورت دوست داشتني سريالRS-232:
[تصویر:  rs232.gif]
kimia نوشته است:آقا اشكان لطفا شما نخونيد
... (شما در حال خروج از اين صفحه هستيد . آقا اشكان!)


شما هيچ مي دونيد كه خيلي با حاليد؟!!
من تا بحال «ان» تا سوال پرسيدم هيچكدومشون روجواب نداديد...
.... حق داشت :cry: :cry: :cry: مي گفت كه بچه هاي ايران ويج ....
واقعا كه...
حالا چرا جوش مياري ؟ من كه اسمبلي بلد نيستم خوب :cry: :cry:
جودي رايس هم براي پارالل يك سري كد نوشته تو ويژوال ++Cورژن 6 كه از inpout32 استفاده مي‌كنن. من هيچي از اينها نمي‌فهمم. :wink: ببين بكارت ميآن:
کد:
typedef UINT (CALLBACK* LPFNDLLFUNC1)(INT,INT);
        typedef UINT (CALLBACK* LPFNDLLFUNC2)(INT);
        HINSTANCE hDLL; // Handle to DLL
        LPFNDLLFUNC1 Output; // Function pointer
        LPFNDLLFUNC2 Input; // Function pointer
        INT Addr;
        INT AddrIn;
        INT Value;
        hDLL = LoadLibrary("Inpout32");
        if (hDLL != NULL)
        {
          Output = (LPFNDLLFUNC1)GetProcAddress(hDLL,"Out32");
          Input = (LPFNDLLFUNC2)GetProcAddress(hDLL,"Inp32");
          if (!Output || !Input)
          {
            // handle the error FreeLibrary(hDLL);
          }
        }
        Addr = 0x378;
        AddrIn = 0x379;
        Value = 0;
        Output(Addr, Value);
        INT somenum = Input(Addr);
اين هم يك كتاب الكترونيك درباره برنامه‌نويسي براي پورتهاي سريال و موازي و البته اين بزبان جاواست؟!