AVR(AT90CAN128)공부2010. 10. 20. 01:24

집에 있는 데스크탑의 드라이버들이 꼬였나보다.

몇일동안 드라이버를 지웠다 깔았다를 반복해도 AVR ISP 가 잡히지 않는다.

할수없이 노트북을 꺼내 프로그램 작업을 ㄷㄷㄷ


테스트 환경.

PC1 에서 AVR 로 특정 CAN 데이터를 쏜다.

이것을 AVR 이 캐치하여 해당 데이터를 AVR 과 RS-232C 와 연결된 PC 의 하이퍼터미널창에 띄우도록 한다.



삽질1

아무리 컴파일을 새로하고, 플래싱을 하여도 하이퍼터미널에 아무런 반응이 없다.

역시 드라이버도 새로 깔고, 232C 케이블도 만져보고 별짓을 다하던중..

플래싱하는 HEX 파일이 예전 테스트 파일이란것을 발견한다 .. 헉 ㅜㅜ 그러니 당연히 새 프로그램이 안들어가지 ㅜㅜ

새로 HEX 파일을 선택하여 플래싱을 하니 OK



삽질2

역시 기본없이 무작정 결과물을 내기위해 뛰어드는건 무모한짓이다.

그동안 형변환이 너무 자유로운 PHP 만 하다보니 C 가 답답해진다.. 아니 적응이 안된다.

어쨋건 송신된 CAN 데이터를 상대방 AVR 이 받고 다시 PC 로 잘 쏴준다.

하지만 제대로된 데이터나 CAN ID 가 표시되지 않는다..

당연히 그럴것이 0x123 같은 값들은 하이퍼터미널에서 바로 표출이 불가능하다..

또한 들어오는 데이터인 00 01 02 03 04 등도.. 직접 표출이 불가능 하다.

따라서 각 데이터에 0x30 을 더해 ASCII 코드값으로 변환하여 표시한다.



01 이란 실제 데이터를 받으면 여기에 0x30 을 더해 하이퍼터미널에 1 이란 ASCII 가 표출되게 한다.

65 라면 A 이겠다.. ^^ 친숙한 ASCII 코드값들이다.


두가지의 삽질을 하느라 진도가 많이 못나갔다 ㅜㅜ


Posted by 초동