WEB форумы на jedi
[Форум] [Помощь] [Поиск] [Выйти]
Добро пожаловать, [info]User

WEB форумы на jedi [ПОИСК] [Архив до 03.2006]

Тема COM порты в Delphi К предыдущему сообщению На следующее сообщение Программирование

Отправил Van ASS в 20:55 03.12.2004[Ответить]
Нужно написать прогу, которая будет обмениватся данными с COM портом (байт читаем, байт пишем). Интересует, как организовать такой обмен на Delphi. Всем заранее спасибо ;)


Отправил rOOt в 09:25 04.12.2004[Ответить]
RTFM... И что за ос?
А так могу мыльнуть сурсов по ним много. По молодости телу одному прогу писал(график выводила);
Пример вот:
source file name : ComPortUnit.rar
original size : 2094 (3 kb)
created on : 08 декабpя 01 09:26
encoded on : 08 декабpя 01 09:26
approximate encoded size : 4 kb
number of sections : 1
lines per section : 340

section 1 of 1 of file COMPOR~1.RAR -=< uuencoder >=-

begin 644 COMPOR~1.RAR
M4F%R(1H'`,^0<P``#0````````#?5'0@@`Y`<``*4=```;EVXXT&EB2T=
M-0`(````$-O;5!O<G15;FET+G!A<Z<8=/=0_3<B^W*/!).`MH`A@-XA'>?
M[)/#P<Y)6L2B6N;S6)0E<WM^$9I2I;341$E9MMIH6-U/HZ>&INU,;HK2$
MT'&Y-^EE@>.7L]FES8O2_^+THL,E*20.[;-DV:Z4-$#/I*;@@Q`)M^.
M=NQ<[+EF4:YN&SE`CR5-QWV7B3;-]:E)AR8KIOTOR:0<C3DZ)OQ[/'&;
MCSCC?RF2N0>?!D5^SC$&<`L*)$^5C)U:^@5P_F'<L+Y,<Q5,^0W6Y&RN'=
M-9YHB$`.7#2V(3-3'4DR=GE<WF`*DM7FD-G=)'K;7<PNR3B#GJ!,UMKXZW#G
MY:#UI.DI/9A<<L/&-]`J(#V(@9#5(3O1HG&6]#<./%V3!#0M80^#]3YF*[^
MXLR6Q#4VE2SH_(9GB(QU1&&W81``(;*CG`=)@MCJ;X%Q-AS;WS8=-Z>5)2
M(%DR]A0*AJ04U9_B1]^K#XV*NZ_3G-:%R=B/E<]>=!T?8N(OHE.Y_N]QAQ
MC.(%HB$V-D#EH<1@3INJI`L)NRE9`I(XNRCW=@O1Y<3B.==^II3'7B:5U
M1G1B)F<I[_L;:D?9M#-#E):[(T!>U6FY>C=0LY+LOE5GC<M@W3Y%@KF]*
MK?X&>WSD>W[0ER!AX*5T]6`ZB'47^'.(,XE<5(`)5WT8,;*L=3H?1GCL`*V
MQ@&3*@TC]'8C246@6[6_FGH5K2?-%:?--$(6W<0(U2%]=26G&O.5G2!+6E8
M&7:K%M3J,<NAE3JP`BC;XIB1/+D(F_.5G7@0;I=-3LPAIZ8F4PX$ZUI%;
M>Q=LE-3]&P0B['M`KC>Y%_O2).5Y3/KG3J)ASU4TN+%,.<%YVD4O?T5UAU%
MO49WOE5I=4'IA1YW_&Y)L'EDL.E[Z_<T`-8?'`9^Q`E1BGPD#$6P)A8
MPZQL6:H<[^_TMKW6VAE/FC,E[1O@55GZ#.Z0'@7TY)C1J'W/C>)$1<[K>_
MLSKX+;CY-&FU_,0N8I]94,-C'0E0DE36PL:R>SPHG>23J5E6.G^$FH#B
MF^&Q12LRP@(,A16=URVH'/(Q6>.BY&]I/<]1&F)<C3P*V6)ITXJP]H298S')
M+MG_KV)#.#[^N:XVSD4S@25V_L]9C##`&S0@#U.),GMW11<^YC-N_#X+
M+/AK^1@>0$`?UQ9K7NUW#@1&]E.UH-R!)=,:.]`-/PJ^;G5H<T;(L+ZW3
M2M%G`D38B;?=ULRG[G'E`DH7-G[5F#W^Q-2=)R6/V<L&&SJYXOQ;#6S.<M.
M:BC;LABG#42B3T7S:(03;:6P&@//(9K:)ZKI9P>&_4#'P18&Z62-R_0%SFK
MB$?P]N/N'$3WGU:_RPH5@&[R5@Y>/6Q@H3&<?W'GO%E0V@^6VRLQD^N!F8K=
MZ/?W:)&>KB4QY7,X5T##?'<77*KK,X&TA#TW&HZT)G0,1)66+SZQ$DI_JJ,
MSC+@7#99-M5_740$N<)P@D@OXWL!9D/1/D4'Z;5<*@>`_X'[IO/1,?
M[1IW;,@18`GAUK1>##4]C<K[R-ZM7N-AF;QOV]O)PU:7`:L24-QKYCLI`=2=
M4R-6^QSS_&,L@$G,PRJRR]Y7)<;TL_1+K]==/'W*,PQQH94+KJJA&]YGI?
M,44^ZA*M;,^A2Y:+5-=(J;J4XBP[3_*K#J]V?3<=Y<04)Y,%5/T^'J(^_L
MC-BBHX^+<C<5W9BG`SJ/]RYU8OQE^]?9S5!6_M@-C=1`.Z1CM6CPI:<Z*`&
M/E!3@=`-,`;7@D[LI0__V+MO61-U3W?T8U/+:GVU2#(9*#=!*FZ%%&ASNQ6,
MBU]V41N.,JO`SG4E-,/E.>*HZPO[(NA[M;RO^GPCN0RH3*->['81WNG_
M_5*3^P0*(5RQ45Q8*.MV%=:^FW:<XHBXS[G;A[<*='*5.$JF7?#MDI+`7L
M%GP?KKVE'PIM`D'0ZI7K5F`J_H%_MVZ;CSOT?37HH-`47E(TM_&>7$%1&AY
M(H.+$9*[?S=`MTA'HIY1G?IIBQQV*/_OE#9DF$V4Y<-C.*8[P-YQ/]B,9
MJ7L$P?3+3ULYHR%74ETRH%&FX^3T7DF?9>C_F0[PAI>_YPH'#%4-?-=3*$
M!H(VR6%?O7_0&<7B$NA$VH96;Z77@'.L>J:MQ*A*TY9B;Q_D:!O35R(\8
M'!@QUV$S5LD@^J)&S1:P56N1Y_TX%P%P=R**ILG&17K?ED1V3AML50EK(/
ML%UL^Q?4('&HH*=TV$OJ(/GD1/X4U3H&[>YFL+PQTB]1E]P/W$&=E%
M4M;3(1&8>EYL32MQM:7:4RRT;3$^4LI7@7[XB8EXX+TRAIJ-&+SX#RV3#
M:-?KQ+R'^PX;I/]Y_ZB/B-2'O+/CA+$,>]1S%*#WRNDLVIR0$2PV/;)6#<R
ME@CJ<%!!X$H\_M$7]:'3[3FW7D,+/DPR5][;%1LBR21S0/F8#<=:;X0S*
M4DA[*3,QY2[^FMAQ3?=$DB5PHF46B(;(BP+)4-T.E_0+UXT]ZME^?.T[I:.
M9P28!<:_S`'>/^42VYXBUTV,H56+X.U+I(A]?M>6SPU-^V<V/4!7J'':*SU
ML<Y7Q6.%=-1`RC411[R,VAI%^:*?6CP2^AY?Z9U#RAYGN!_)?K7YXN682<$
8PMZB,8639G,``+^(9_:I_]3$/7L`0`<`
`
end


Отправил AgentD22 в 09:43 04.12.2004[Ответить]
Оффтоп: Точно, давайте устроим файловый архив на форуме в uue :)


Отправил rOOt в 10:48 04.12.2004[Ответить]
Обезательно!!!
Я своп виндовый кину, как время появится... ;)


Отправил KiaProg в 11:04 04.12.2004[Ответить]
Люди могут подумать что это текст программы и что работать с портами очень сложно


Отправил MOD в 11:21 04.12.2004[Ответить]
Один из способов работы с COM-портом (или с LPT или с любым другим устройством)

HANDLE hComPort = CreateFile(COM1, GENERIC_READ ! GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if (hComPort != INVALID_HANDLE_VALUE)
{
DWORD BytesWritten = 0, BytesRead = 0;
BYTE MyData[256];
DWORD HowManyBytesToRead = sizeof(MyData);

if ( WriteFile(hComPort, MyData, sizeof(MyData), &BytesWritten, NULL) )
{
// в порт записано BytesWritten байт данных из массива MyData
}
if ( ReadFile(hComPort, MyData, HowManyBytesToRead, &BytesRead, NULL) )
{
// из порта прочитано BytesRead байт данных в массив MyData
}

}

Если нyжно читать из порта COM2 или LPT1 то соответственно это и пишешь в функции CreateFile.
А так ваще вопрос из серии RTFM :).
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/communications_reference.asp

P.S. Вопрос конечно был по делфи, но ее у меня под рукой не оказалось... имена функций там те же самые. Кстати работает это под любой Windows.