[Udo Klein]을 만들기 위해 IDE 밖에있는 사고 [Udo Klein]는 Arduino 보드를 사용하여 가능한 한 빨리 균형을 유지하는 데 어려움을 겪었습니다. 퀘스트는 주식 하드웨어를 사용하여 최대한 빨리 20 비트 카운터를 운전할 수있게 해주는 짧은 컷을 검색합니다. 그러나 캐치는 Arduino 분위기가 배경에서 일을 늦추는 백그라운드에서 약간의 오버 헤드가 있다는 것입니다. 그는 이러한 도로 범프들 각각을 조사한 다음 그들을 둘러 쌓는 한 가지 방법을 보여줍니다.
이 코드는 현대 C 임베디드 프로그래밍에서 보통 보지 않는 명령을 사용합니다. Goto 문장. 그는 Arduino의 내장 루프 () 함수가 사용하는 추가 사이클을 무시하기 위해이를 사용하고 있습니다. 해킹 된 루프 내에서 실행되는 유일한 명령은 깊이 중첩 된 매크로 세트입니다. AVR 칩에 내장 된 하드웨어 XOR를 사용하여 출력 핀을 토글합니다. 이것은 레지스터를 직접 해결할뿐만 아니라 DigitalWrite () 함수에 의해 추가 된 둔화를 덤프합니다.
결과는 출력 표시등을 토글 (브레이크 후 클립 참조)을 하드웨어 클럭 속도의 약 98.9 %에서 전환하는 소프트웨어 카운터입니다. 꽤 인상적이지만 [udo] 인물은 아직 조금 더 빨리 만들 수 있습니다.