دوستان سلام!
يه سوال ديگه :
چطوري مي توان براي "پين" هاي پورت برنامه نوشت؟
ببينيد من نمي خواهم يک مقداري را به "پورت" بفرستم بلکه مي خواهم مثلا "پين شماره يک" فلان پورت را مقدار دهي نمايم. خواستم بدانم چه راهي وجود دارد؟
با سپاس
كيميا كنجماو
كيميا سوالاتت خيلي خفنه ، من منتظر شدم ببينم كسي جواب درست و حسابي داره ولي فعلا بي جواب مونده ، ببين يه پين رو فك نكنم بشه توي يه پورت مقدار دهي كرد ولي يه كار ميشه كرد بصورت مدام يه مقدار خاص رو به پورت ارسال كرد در اين صورت (اون مقدار خاص بايد طوري باشه كه دقيقا اون پين رو مقدار بده) پين شما هميشه مقدار داره.
اين تنها چيزي بود كه به ذهنم رسيد
آقا اشكان لطفا شما نخونيد
... (شما در حال خروج از اين صفحه هستيد . آقا اشكان!)
شما هيچ مي دونيد كه خيلي با حاليد؟!!
من تا بحال «ان» تا سوال پرسيدم هيچكدومشون روجواب نداديد...
.... حق داشت :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:
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);
اين هم يك
كتاب الكترونيك درباره برنامهنويسي براي پورتهاي سريال و موازي و البته اين بزبان جاواست؟!