Busan IT/RFID2015. 12. 9. 17:35

==================================Outline====================================

Dos Serial 통신

----------------------------------------------------------------------------

Dos Serial 통신

Non-canonical Mode를 사용하여 배열에 있는 데이터를 출력해보자.

 

 

 

**VMware를 재부팅 후 데이터를 보내니 잘되었다. 이유는 알 수 없다.

 

VMware 탓인지 리눅스 탓인지 알 수 없으나, linux 환경에서는 리더기와의 통신이 되지 않았다.

 

도스환경에서 시리얼 통신을 해보자.

 

시리얼 통신을 위해 사용해야 하는 함수는 아래와 같다.

 

1. CreatFile

2. SetupComm

3. PurgeComm

4. GetCommState

5. WriteFile

6. ReadFile

7. CloseHandle

 

 

1. CreateFile

 

HANDLE WINAPI CreateFile(

_In_ LPCTSTR lpFileName,

_In_ DWORD dwDesiredAccess,

_In_ DWORD dwShareMode,

_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,

_In_ DWORD dwCreationDisposition,

_In_ DWORD dwFlagsAndAttributes,

_In_opt_ HANDLE hTemplateFile

);

각 인자에 대한 설명 - https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx

 

 

 

2. SetupComm

 

BOOL WINAPI SetupComm(

_In_ HANDLE hFile,

_In_ DWORD dwInQueue,

_In_ DWORD dwOutQueue

);

 

각 인자에 대한 설명 - https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa363439(v=vs.85).aspx

 

 

 

3. PurgeComm

 

BOOL WINAPI PurgeComm(

_In_ HANDLE hFile,

_In_ DWORD dwFlags

);

 

각 인자에 대한 설명 - https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa363428(v=vs.85).aspx

 

 

 

4. GetCommState

 

BOOL WINAPI GetCommState(

_In_ HANDLE hFile,

_Inout_ LPDCB lpDCB

);

 

각 인자에 대한 설명 - https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa363260(v=vs.85).aspx

 

 

5. WriteFile

 

BOOL WINAPI WriteFile(

_In_ HANDLE hFile,

_In_ LPCVOID lpBuffer,

_In_ DWORD nNumberOfBytesToWrite,

_Out_opt_ LPDWORD lpNumberOfBytesWritten,

_Inout_opt_ LPOVERLAPPED lpOverlapped

);

 

각 인자에 대한 설명 - https://msdn.microsoft.com/en-us/library/windows/desktop/aa365747(v=vs.85).aspx

 

 

 

6. ReadFile

 

BOOL WINAPI ReadFile(

_In_ HANDLE hFile,

_Out_ LPVOID lpBuffer,

_In_ DWORD nNumberOfBytesToRead,

_Out_opt_ LPDWORD lpNumberOfBytesRead,

_Inout_opt_ LPOVERLAPPED lpOverlapped

);

 

각 인자에 대한 설명 - https://msdn.microsoft.com/en-us/library/windows/desktop/aa365467(v=vs.85).aspx

 

 

7. CloseHandle

 

BOOL WINAPI CloseHandle(

_In_ HANDLE hObject

);

 

각 인자에 대한 설명 - https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms724211(v=vs.85).aspx

 

 

 

 

장비가 없음으로 내 곁에 있는 ComPortMaster와 통신하자.


RFID 리더기와 통신하면 6byte를 수신하게 된다.

 

 

CRC 값을 함수를 써서 계산하자.



 

데이터시트를 참조하여 reader기의 동작 옵션을 바꿔보자.

 

PDF p/22






 

 

반응형

'Busan IT > RFID' 카테고리의 다른 글

RFID(Radio Frequency Identification)  (0) 2015.12.08
리눅스 시리얼 통신  (0) 2015.12.07
Posted by newind2000