수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

배열에 hex값 저장하는 방법이 막막해서요....

부루

2023.04.01

AVR만 다뤄보다가 이번에 갑자기 VB로 RFID통신을 다뤄야 할이 생겼는데 제가 VB는 건드려본적이 없어서 열심히 공부해서 하는 중인데 더 이상 진행이 않되서 이렇게 질문을 올려봅니다.

간단하게 RFID통신 구성을 통신포트를 열고, 시리얼 통신으로 (포트4를 이용하고 있습니다.) 16진수 값으로 40 00 60 FF을 전송하면 Response값으로 RFID카드를 대고 있으면 CE A2 21 24값을 받아와야 합니다. 그래서 아래와 같이 소스를 작성하였습니다.

Private Sub Command2_Click()
Dim txbuf(256) As Byte//송신값저장배열버퍼
Dim buff_read(256) As Byte //수신값 저장 배열 버퍼
Dim temp As String, row As Integer //저장 함수와 배열 길이 조정 함수

txbuf(0) = &H4//헥사 값 저장
txbuf(1) = &H0
txbuf(2) = &H60
txbuf(3) = &HFF

MSComm1.Output = txbuf //저장된 값 Output으로 출력

//수신값 저장 부분 제가 막히는 부분이 이 다음 부분입니다. 버퍼값이 0~3이니까 For문으로 3번 저장을 하여서 Input값을 첫번째 byte를 0배열에 두번째 byte를 1배열 이런식으로 하나씩 temp에 차곡차곡 저장하여서 Hex값으로 temp를 출력하여 저장하려고 합니다. 그런데 Input값이 당연히 저장이 않되는군요....MSComm1.Input을 어떤식으로 받아야지 buff_read()에 하나씩 차례대로 저장할 수 있을까요? Input값은 아마 한번에CE A2 21 24로 들어올 것입니다.

For row = 0 To 3
buff_read(row) = MSComm1.Input //0~3값을 저장하는 부분....
temp = temp & & Hex(buff_read(row)) //사실 제가 봐도 될리가 없는데
Next row//해결방법을 모르겠네요...
Text1.Text = UID = + temp //출력
End Sub

지금 소스를 아래 수신부분을 다 지우고

Data = MSComm1.Input
Text1.Text = UID = + Data
End Sub

이렇게만 하면수신값이 있긴 하는데 Hex값 출력도 아니고데이타를 전부 저장한것도 아닌것 같아서 그냥 쓰레기값처럼 표현되서 나오네요....도와주세요 ㅠ

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 싸리

    고정 길이 바이트 배열을 (Dim buff_read(256) As Byte) 가변 길이 바이트 배열(Dim buff_read() As Byte)로 바꾸세요. variant에서 배열에 할당하려면 배열의 크기를 재조정해야 하니까 필요하네요.

    그리고 값 전송 후에 수신 데이터를 읽어오려면 데이터가 도착했는지 확인해야 하는데 이런 절차가 없는거 같네요. InBufferCount 로 수신 데이터 크기를 체크하거나 OnComm 이벤트 처리문에서 CommEvent

  • 바르고

    함수 선언에 문제가 있는것 같아서 buff_read를 string으로 해봤는데 이것도 아니고 뭐가 문제일까요???

  • 참없다

    그렇게 해봤는데 배열에 맞지 않는다는 오류가 나오네요...

  • 푸른마을

    buff_read(row) = MSComm1.Input 를 buff_read = MSComm1.Input 로 고치고 for 문 바로 위로 옮겨보세요

  • 우수리

    제가 비베를 제대로 배워본적은 없는데 같은 프로그램 언어라서 논리계산같은 부분은 쉽게 접근할 수 있겠지만 역시 내부 포트설정이나 타이머 카운터/인터럽트 등등의 레지스터 설정은 생소한 부분이라서 천천히 공부하셔야 할거에요. 그래도 천천히 공부하시다 비베나 C를 공부했던 것이 조금은 도움이 되지 않을까요?ㅎㅎ

  • 차분

    저로서는 AVR은 이제 어느정도 다루겠는데 갑자기 VB6을 하려니 죽을맛이네요 ㅎㅎ

번호 제 목 글쓴이 날짜
2699193 디자인 설정하면 두온 2025-06-23
2699136 수다님의 네이버 로그인 모듈을 사용하여 프로그램을 작성하고 있는데 텍스트박스 질문이 있습니다. 얀새 2025-06-23
2699106 오류좀 봐주세요; (2) 맞빨이 2025-06-23
2699079 파싱 질문입니다 (4) 피네 2025-06-22
2699025 블루투스 시리얼통신으로 리스트뷰에 등록 목화 2025-06-22
2698995 [사진有] 비밀번호 틀리면 다음 창으로 안넘어가지게 하는법없나요?? (3) 슬현 2025-06-22
2698939 메세지박스 줄띄우는법 누리별 2025-06-21
2698910 런타임 424 질문 야미 2025-06-21
2698883 배열에 관련하여 (1) 민트맛캔디 2025-06-21
2698856 빤짝거리는 내 툴의 재목 !? 초롱꽃 2025-06-20
2698830 리스트 인덱스 질문 (2) 말글 2025-06-20
2698803 리스트 뷰 질문이요. (2) 딸기향 2025-06-20
2698750 헐 웹브앙대요 꺆잉 2025-06-19
2698694 모듈의 핸들 렁찬 2025-06-19
2698674 VB 고수분들 봐주세요 (6) 세이 2025-06-19
2698617 윈속.ocx다운받는곳좀여 안토니 2025-06-18
2698588 자 나를 즐겁게 해봐요 다흰 2025-06-18
2698529 이거 저작권 상,고,명인데 점부탇드림 (3) 서향 2025-06-17
2698503 오늘도~윈속질문이요~ 텐시 2025-06-17
2698478 비베6에서 exe파일만들때 자동링커되려면 달달한캔디 2025-06-17
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com