|
어떤 MCU를 쓰시는 지는 모르겠지만 다 동일하리라 봅니다.
MCU는 자신의 시리얼 port 에 들어오는 데이터를 인터럽트로 받아들이게 됩니다. PC 라면 주로 RS232를 사용하게 될테니 MAX232(오래되서 가물가물하네요) 같은 칩이 신호를 변환해서 MCU의 시리얼 port 로 넣어주도록 되어 있을 겁니다.
시리얼 포트에 들어오는 것은 그때마다 인터럽트가 발생하게 되고 그 인터럽트를 처리할 함수가 시리얼 포트에 들어온 8 비트 데이터를 가지게 됩니다. 이 값은 ASCII 값이고 이 값으로 해당 문자열로 비교하면 되죠.
MCU 가 들어온 값을 's' 으로 판단하면 알맞는 데이터를 시리얼 포트를 통해 내보내 주면 됩니다. 그 데이터를 PC에서 받아서 뿌려주면 되죠(이건 C++ Builder로).
현재 MCU의 스타트업 코드가 되어있고, 현재 main() 함수가 MCU에서 실행가능하면 나머지는 진짜 간단해요.
이전에 80196 을 가지고 ctasking 을 사용해서 한 적이 있는데 소스는 공개할 수 없고(^^;),,, 하지만 아마 인터넷에 검색하시면 많이 나올 겁니다. 단 대략적인 방법은 위와 같아요.
|