저는 센서나 모터 등등의 소위 하드웨어는 제품회사에서 제공하는 데이터시트 보고 코드를 직접 작성합니다.
데이터시트를 보시면 어떻게 코드를 작성해야 하는지 대충 보입니다. 물론 제품 사양보고 정격을 확인하시고
전류증폭도 고려하시면서 하셔야겠죠. 코드가 만능은 아니깐요.
코드는 현재 갖고있는 책과 당근이avr 네이버 카페가 있어요. 거기서 좀 참고하세요.
실험실에 짱박혀서 밤새면 다 됩니다!! 화이팅!!
저는 소스코드를 구하는 법 보다는 구했을 때 발생할 수 있는 문제점을 알려드릴께요.
제일 첫번째로 코드까지 전부 제출했을때 남이 작성한 코드를 그대로 가져왔는지 확 티가납니다.
최대한 변수 이름부터 함수 이름까지 자신만의 것으로 수정하시기 바랍니다 ㅋㅋㅋ
소스코드는 대부분 모듈별로 구하실 수 있을꺼에요.
그런데 소스코드를 얻는다고 해서 문법오류가 안나오지는 않겠죠? 각 모듈별 코드 개발자나 상황 자체가 다 다를테니까요
(물론 프로젝트를 통채로 따라하시는 거면 상관없습니다. 그러면 걸렸을때 큰일나겠죠? ㅎㅎ)
예를들어 어떤 센서값을 읽는 코드와, 서보모터를 제어하는 코드 각각 따로 얻어서 한 프로젝트로 합쳤을 때
변수중복 및 128자체의 레지스터 설정 충돌도 예상됩니다.
이때는 어쩔 수 없이 코드오류를 고치기 위해 원 작성자의 코드를 분석해야 하는데, 실제로는 엄청 간단한 코드이지만
남이 짠 코드는 변수자체가 익숙하지 않기 때문에 혼란스럽죠.
그래서 대부분 코드를 그대로 따라 작성하면서 변수는 자신만의 변수로 바꿔서 작성하셔야
눈에 익숙해지고 코드가 한눈에 들어옵니다. 그런데 시스템이 큰 경우 그 변수가 포인터 변수나 혹은 구조체 변수로 구성되어 있는데
128은 그렇게 큰 시스템 구현은 어려우니 별로 해당은 안될꺼에요. 결국은 레지스터 설정만 충돌 안나게 바꿔주시면 됩니다.
128를 과제로 제출하시는거 보니 3학년이신가요?
3학년이라고 가정하고, 현재 팀에서 코드를 담당하신거 같은데 4학년때 종합설계를 생각하셔서
c언어를 포인터나 구조체까지는 이해하시는걸 추천드립니다 ㅎㅎ.
대부분 프로젝트 통째로 따라하시는게 아니시면 모듈별로 소스코드를 얻게 되실텐데, 코드를 작성한 사람이 현 개발자면
그들만의 양식에 맞게 헤더와 메인을 따로 나누어서 작성합니다. 그러면 대부분 변수가 구조체와 포인터로 구성되어 있습니다.
모듈간 결합을 해서 하나의 시스템으로 구성할 때, 위와 같은 코드 문법상 문제를 겪지 않으시려면 c언어는 필수죠.