Как из винды отправить на компорт последовательность байт "qwerty123"? Как её получить в статическую напр. память? Первое, второе, третье..- суть, можно и без кода. Похоже ни в одном туториале этого нет. Может кто из мастодонтов микротутор типа для FAQа напишет или даже статью? А если статью, то может и про USB? Есть здесь исходник miniTerminal, но для BEGINNERа там это засыпано не относяшемся к собственно портам кодом.
Код (Text): char Buf[]="qwerty123" HANDLE hCom=CreateFile("\\\\.\\COM1"....); WriteFile(hCom, &Buf[0], 9, ...); CloseHandle(hCom);
Когдато я так открывал СОМ порты. Желаю удачи. Код (Text): Open_COMx proc hDlg:HWND LOCAL dcb:DCB;, CommTimeouts:COMMTIMEOUTS .if hCOM invoke CloseHandle,hCOM mov hCOM, 0 .endif mov eax, SC_.SC_SELECT and al, 011b add al, '0' mov szCOMx+3, al invoke CreateFile,ADDR szCOMx,\ GENERIC_READ or GENERIC_WRITE ,\ NULL,NULL,OPEN_EXISTING,\ FILE_FLAG_OVERLAPPED,\ NULL .if eax==INVALID_HANDLE_VALUE MsgBox hDlg,"Порт занят или отсутствует?",ADDR szCOMx,MB_OK or MB_ICONERROR invoke PostMessage,hWnd,WM_COMMAND,IDM_SETCOM,0 mov hCOM, 0 .else mov hCOM, eax invoke GetCommState,hCOM, addr dcb .if !eax MsgBox NULL,"GetCommState","Error",MB_OK or MB_ICONERROR .else xor eax,eax _fbits=0 _fbits=_fbits or TRUE SHL fBinary _fbits=_fbits or TRUE SHL fBinary _fbits=_fbits or FALSE SHL fParity _fbits=_fbits or FALSE SHL fOutxCtsFlow _fbits=_fbits or FALSE SHL fOutxDsrFlow _fbits=_fbits or DTR_CONTROL_DISABLE SHL fDtrControl ;_fbits=_fbits or DTR_CONTROL_ENABLE SHL fDtrControl ;_fbits=_fbits or DTR_CONTROL_HANDSHAKE SHL fDtrControl _fbits=_fbits or FALSE SHL fDsrSensitivity _fbits=_fbits or FALSE SHL fTXContinueOnXoff _fbits=_fbits or FALSE SHL fOutX _fbits=_fbits or FALSE SHL fInX _fbits=_fbits or FALSE SHL fErrorChar _fbits=_fbits or FALSE SHL fNull _fbits=_fbits or RTS_CONTROL_DISABLE SHL fRtsControl ;_fbits=_fbits or RTS_CONTROL_ENABLE SHL fRtsControl ;_fbits=_fbits or RTS_CONTROL_HANDSHAKE SHL fRtsControl _fbits=_fbits or FALSE SHL fAbortOnError mov dcb.fbits,_fbits mov eax, SC_.SC_BAUD mov dcb.BaudRate, eax mov dcb.ByteSize, 8 mov dcb.Parity, NOPARITY mov dcb.StopBits, ONESTOPBIT invoke SetCommState,hCOM, addr dcb .if !eax MsgBox NULL,"SetCommState","Error",MB_OK or MB_ICONERROR .endif invoke SetCommTimeouts,hCOM,addr SC_.TO .if !eax MsgBox NULL,"CommTimeouts not set", "Error" ,MB_OK or MB_ICONERROR .endif invoke EscapeCommFunction, hCOM, CLRDTR invoke EscapeCommFunction, hCOM, CLRRTS invoke SetupComm,hCOM,64,64 .if !eax MsgBox NULL,"SetupComm not set", "Error" ,MB_OK or MB_ICONERROR .endif mov eax,OFFSET ThreadUART invoke CreateThread,NULL,NULL,eax,NULL,0,ADDR ThreadID mov hThreadUART, eax invoke SetThreadPriority,eax,THREAD_PRIORITY_LOWEST invoke CloseHandle,eax ;dsText szPOPN,"-=Порт открыт=-" invoke SetDlgItemText,hWnd,IDC_IN_SMS,SADD ("-=Порт_открыт=-") .endif .endif ret Open_COMx endp