도와주세요!!
글 수 15,339
2009.10.15 22:02:20 (*.245.210.9)
9558
2009.10.15 23:51:07 (*.141.179.68)
아참 제경우는 x5로부터의 atmega128보드로의 메세지 전송이라
전송되는 값을 define된 값으로 변경 후에 parse를 하는데요..
문자열 길이가 4이상 되는 경우에 디파인 값이 또 달라집니다.ㅠㅠ
(문자열 길이 3이하경우에는 타겟보드가 잘 알아먹습니다;;)
parse 연산이 아무래도 if문이나 switch문이 들어가기에 인터럽트 타이밍이 좀 밀리는감이 있네요..(그냥 제 느낌 상으로..)
그래서 비트연산 연구중인데.. 현재 제가 제시해드린 솔루션이 근본적인 해결방안이 아닌 편법인지라
마음 한구석에 답답한 마음이 떠나질 않네요..
우선 근본적인 해결 방안이 나오기 전까진 도움이 되었으면 합니다.
저와 비슷한 문제로 고생중이신가 보네요..ㅠㅠ
13781 게시물 작성자 입니다.
우선 답변이 아니라 죄송합니다.
제경우도 양쪽 보드의 포트와 케이블, 셋팅상의 문제는 없어 보이지만 전송 값이 달라서 고생하고 있습니다. ㅠㅠ
지그비면 혹시 MCU가 atmega128 아니신지요?
일단은 저두 아직 해결을 못보고 있어 일정 캐릭터에 대한 전송 결과값을 디파인 하여 사용하고있습니다.
(문자당 약 500회 정도 반복 테스트를 해보았습니다. 잘못된 값이지만 결과는 일정하더라구요..)
캐릭터 값에 대한 전송결과 hex값입니다.
#define SERIAL_0 0xf6
#define SERIAL_1 0x67
#define SERIAL_2 0xb3
#define SERIAL_3 0x66
#define SERIAL_4 0xd9
#define SERIAL_5 0x65
#define SERIAL_6 0xb2
#define SERIAL_7 0x64
#define SERIAL_8 0xec
#define SERIAL_9 0x63
#define SERIAL_S 0x56
#define SERIAL_F 0xae
x5 -> atmega128로의 전송값에 대한 디파인 이구요..
atmega128 -> x5의 전송값은 또 다르더라구요..
#define SERIAL_0 0x56
#define SERIAL_1 0x67
#define SERIAL_2 0x33
#define SERIAL_3 0x66
#define SERIAL_4 0x19
#define SERIAL_5 0x65
#define SERIAL_6 0x32
#define SERIAL_7 0x64
#define SERIAL_8 0x0c
#define SERIAL_9 0x63
#define SERIAL_S 0x56
지그비로부터 x5로 전송해야 할 값을 유추해보면 말그대로 수치 전송이 많으실텐데..
당연히 인터페이스에 따라 수치가 다르게 나올수도 있겠습니다만
혹시나 도움이 되실까 리플 달아봅니다.
데이터 값의 패턴을 보시면..
짝수는 사방 팔방으로 튀지만
홀수경우는 등차로 떨어지네요.. 누구 약올리는것도 아니고..
혹시나 비슷한 경험 있으신분 확답좀 부탁드립니다.ㅠㅠ