반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Msvcrt.dll
- Network Byte Order
- 윈도우 커널
- arudino
- Windows Kernel Driver
- pcap packet
- C언어 패킷캡쳐
- 네트워크 바이트 오더
- HackCTF
- vcruntime.dll
- packet capture
- hacking
- 시스템해킹
- Windows
- IAT Hooking
- windows kernel debugging
- Windows Kernel
- 윈도우 커널 드라이버
- 윈도우 커널 디버깅
- pcap packet capture
- 포너블
- 개발하기
- 개발 환경 준비
- ucrtbase.dll
- 해킹
- vcruntime140.dll
- apphelp.dll
- pwnable
- 바이트 오더
- Windows Kernel Debug
Archives
- Today
- Total
미친해커
[C] Serial Monitor Step 7 - 데이터 전송, 수신 함수 만들기 본문
반응형
저번 포스팅에서 Baud Rate를 설정하는 함수를 작성해보았다. 그 외에도 많은 설정 값들이 존재하지만 설정하지 않고 기본 값들을 사용해도 큰 문제가 없기 때문에 다른 설정 값들은 맨 마지막에 다시한번 다루려고 한다. 우선 데이터를 전송 및 수신 하는 함수를 만들어보자. 사용되는 Windows API는 다음과 같다.
이번 함수는 크게 다를 것이 없기 때문에 한번에 올리도록 하겠다.
DWORD SerialWrite(HANDLE hComm, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite)
{
DWORD NumberOfBytesWritten;
if (WriteFile(hComm, lpBuffer, nNumberOfBytesToWrite, &NumberOfBytesWritten, NULL) == FALSE)
{
return 0;
}
return NumberOfBytesWritten;
}
DWORD SerialRead(HANDLE hComm, LPVOID lpBuffer, DWORD nNumberOfBytesToRead)
{
DWORD NumberOfBytesRead;
if (ReadFile(hComm, lpBuffer, nNumberOfBytesToRead, &NumberOfBytesRead, NULL) == FALSE)
{
return 0;
}
return NumberOfBytesRead;
}
함수명을 짓는데 정말 매우 많은 고민을 했다... SendData나 RecvData로 하고 싶었지만 그럼 다른 라이브러리나 함수와 겹칠 것같아 며칠 고민하다 결정했다. 이렇게 WrtieFile과 ReadFile 함수를 사용한 시리얼 포트로의 데이터 전송 및 수신 함수를 만들어 보았다. 여기서 모르는 사람들을 위해 한가지 설명을 하자면 nNumberOfBytes.. 은 실제로 쓰고 읽을 데이터의 바이트 수를 말하며 NumberOFBytes... 지역변수는 실제로 쓰여지고 읽어들인 바이트의 수를 반환 받는 변수이다. 즉 이 함수들의 반환 값은 실제로 쓰고 읽은 바이트 수인 것이다.
반응형
'C > Serial Monitor' 카테고리의 다른 글
[C] Serial Monitor Step 8 - 전송받은 데이터 출력하기 (0) | 2022.01.01 |
---|---|
[C] Serial Monitor Step 6 - Baud Rate 설정하기 (0) | 2021.12.28 |
[C] Serial Monitor Step 5 - 시리얼 번호로 핸들 가져오기 (0) | 2021.12.28 |
[C] Serial Monitor Step 4.5 - CommTimeouts (0) | 2021.12.27 |
[C] Serial Monitor Step 4 - 데이터 쓰기 (0) | 2021.12.27 |
Comments