좋아, 나는 그것이 편안하다고 느끼는 Arduino와 충분히 놀았습니다. 이제는 Arduino 쪽보다 전자 장치를 더 많이 배우고 있습니다.
내 학습의 다음 단계는 무엇입니까? Arduino는 프로그래머 / 컨트롤러가 결합되어 있으므로 링크를 끊고 컨트롤러와 별도의 컨트롤러 칩으로 작업을 시작해야 할 것 같습니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?
좋아, 나는 그것이 편안하다고 느끼는 Arduino와 충분히 놀았습니다. 이제는 Arduino 쪽보다 전자 장치를 더 많이 배우고 있습니다.
내 학습의 다음 단계는 무엇입니까? Arduino는 프로그래머 / 컨트롤러가 결합되어 있으므로 링크를 끊고 컨트롤러와 별도의 컨트롤러 칩으로 작업을 시작해야 할 것 같습니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?
답변:
다음은 AVR 및 C 작업에 대한 팁입니다.
나는 Joby에 동의합니다-Arduino는 훌륭하지만 항상 그들이 나를 둘러싼 틀에 매료되어 있다고 느낍니다. 계속해서 Arduino에서 C를 사용하고 처음부터 제공 한 많은 라이브러리 기능을 구축하려고합니다. 나는 일반적으로 폭보다 깊이를 선호합니다. 더 많은 제공된 프레임 워크를 사용하여 다른 마이크로 컨트롤러 제품군에서 시작하지 마십시오. 이러한 기능 중 일부를 직접 구현하는 방법에 대해 조금 더 배우십시오.
작동하는 프로그램으로 시작하여 Arduino 라이브러리 호출을 한 번에 하나의 기능으로 고유 한 버전으로 교체하십시오. 아직 제어 레지스터, 타이밍, 비트 연산 등에 대해 많이 배울 것입니다. ATMega328 데이터 시트를 자세히 읽어보십시오. 필요한 모든 것이 있습니다.
AVR Studio 또는 Code :: Blocks와 같은 다른 IDE를 사용해보십시오. GCC 툴체인에 대해 알아보십시오. 단위 테스트, 적용 범위, 프로파일 링, 보푸라기 / 스플린트 검사와 같은 고급 코딩 기술을 사용해보십시오. Arduino에 RTOS를 설치하십시오.
결합 된 프로그래머 / 컨트롤러는 약점을 나타내는 것이 아니라 단지 디자인 선택 일뿐입니다. 이로 인해 발생할 수있는 유일한 '약점'은 회로 내 디버깅이 없다는 것입니다. AVR 드래곤을 구매하면 50 달러에 구입할 수 있습니다.
다음에 배울 것은 Arduino가 할 수없는 일에 달려 있다고 생각합니다. 즉, 비슷한 일을하도록 유사한 칩을 프로그래밍 할 때 많은 점을 알 수 없지만 더 어려운 방법이 있습니다.
Arduino의 약점은 다음과 같습니다.
나는 두 가지 방향을 생각할 수 있습니다.
어느 방향이 더 매력적인 지에 대해 언급하면 자세한 내용을 추가 할 수 있습니다. (두 번째는 확실히 저렴합니다.)
처음에는 Arduino에서 플랫폼으로 AVR로 이동하고 싶을 수도 있습니다. 즉, Arduino 대신 프로젝트를 위해 처녀 AVR 마이크로 컨트롤러를 프로그래밍 / 사용하는 방법을 배우십시오. 이렇게하면 각 프로젝트마다 또는 친구와 프로젝트를 수행하기 위해 다른 Arduino 보드를 구입할 필요가 없습니다. 이것은 매우 간단한 단계 (Arduino는 기존의 Atmel AVR 마이크로 컨트롤러이지만 특수 보드 및 부트 로더가 있음)이지만 친구에게 프로젝트를 판매 / 제공하기위한 큰 단계입니다. 툴체인도 비슷합니다. 프로그램을 설치하기 위해 프로그래밍 유틸리티와 함께 avr-gcc 또는 avr-g ++를 사용합니다.