회원가입 ID/PW 찾기
AA

안녕하세요? 어제는 사무실에서 밤을 지세였는데~
별 보람이 없어서... 이렇게 문의 드립니다.

Atmega128과 노트북으로 uart통신 테스트를 하고있습니다.

노트북에서 데이터(문자열)를 전송하면~ 테스트보드에서 기다리는 신호가 맞으면
LED를 켜는 것입니다.지요...

헌데 보내고 받는 데이터가 문자열이다보니 문제가 되네요.

즉,
unsigned char tx_1s[]   ="abc";
unsigned char tx_2s[]   ="def ";
unsigned char tx_3s[]   ="ghi"; 가있습니다.


테스트 보드에서 노트북으로 정상 문자열(3가지중에 하나의 문자열)이 들어오면,
입력된 신호가  'abc'인지, 'def'인지', 'ghi'인지를 확인해서 기다리는 신호(예를들어 "def")가 맞으면
LED를 켜는것이지요.

위의 예를 3byte의 문자열로 표현은 했지만, 실제는 최소 6byte에서 최대 50byte가 되는 문자열이
9가지나 있습니다.

반복문등을 사용해서 문자열을 1byte씩 비교하는 방법도 있겠지만,
좀더 효과적인 방법이 있지않을까 싶어서요...

문의좀 드리겠습니다...
수고하세요.

댓글 2

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
  • 사랑의 치료법은 더욱 사랑하는 것밖에는 없다.
    - H.D.도로우
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.