«timers» 태그된 질문

3
인터럽트 루틴 내에서 millis () 및 micros () 사용
에 대한 설명서 attachInterrupt()는 다음과 같습니다. ... millis()카운트 할 인터럽트에 의존하므로 ISR 내부에서는 절대 증가하지 않습니다. delay()인터럽트가 작동해야 하므로 ISR 내부에서 호출하면 작동하지 않습니다. micros()처음에는 작동하지만 1-2ms 후에 비정상적으로 작동하기 시작합니다. ... 정밀도는 물론 micros()다른 점과 어떻게 다릅니 millis()까? 위의 경고 micros()는 인터럽트 루틴 내부에서 사용 하는 것이 항상 나쁜 …

2
Arduino에서 함수 포인터 할당은 원 자성입니까?
다음 스 니펫은 TimerOne 라이브러리 소스 코드 에서 가져온 것입니다 . // TimerOne.h: void (*isrCallback)(); // TimerOne.cpp: ISR(TIMER1_OVF_vect) // interrupt service routine that wraps a user defined function supplied by attachInterrupt { Timer1.isrCallback(); } // TimerOne.cpp: void TimerOne::attachInterrupt(void (*isr)(), long microseconds) { if(microseconds > 0) setPeriod(microseconds); isrCallback = isr; // …

1
CTC 모드에서 timer3 설정-서보 라이브러리와 충돌
초당 800 번 함수를 호출하기 위해 타이머를 설정하고 싶습니다. 프리스케일러가 1024 인 Arduino Mega 및 Timer3을 사용하고 있습니다. 프리스케일러 요소를 선택하려면 다음 단계를 고려했습니다. CPU 주파수 : 16MHz 타이머 해상도 : 65536 (16 비트) 선택한 프리스케일러로 CPU 주파수를 나눕니다 : 16x10 ^ 6 / 1024 = 15625 나머지를 원하는 주파수 …

3
누군가 타이머를 설정하는 데 사용되는이 이상한 코드를 설명 할 수 있습니까?
다른 사람들이 작성한 스케치를 보면서 때로는 다음과 같은 코드가 나타납니다. TCCR1A = 0; TCCR1B = 0; TCNT1 = 34286; TCCR1B |= (1 << CS12); TIMSK1 |= (1 << TOIE1); 내가 아는 것은 타이밍 / 타이머와 관련이 있다는 것입니다 (제 생각에는). 이와 같은 코드를 어떻게 해독하고 만들 수 있습니까? 무엇 TCCR1A, …

4
24 시간마다 타이머로 Arduino를 켭니다
저는 현재 하루에 한 번 ESP8266을 통해 자동차 배터리 충전량을 나에게 보내는 Arduino 프로젝트를 진행하고 있습니다. 겨울철에는 차를 운전하지 않으며 배터리가 임계 값 이상으로 떨어질 때 알림을 받고 싶습니다. 따라서 충전하여 손상을 방지 할 수 있습니다. 따라서 에너지 효율은 프로젝트에 중요하므로 배터리 자체를 방전시키지 않습니다. 나는 슬립 모드, 효율적인 드롭 …
9 power  timers  relay 

6
매우 긴 지연 ()이 가능합니까?
나는 12 시간마다 열거 나 닫히는 작은 문을 열고 닫으려고합니다. 12 시간 동안 delay (), delay (43 200 000 000)로 작은 루핑 스크립트를 만들 수 있는지 궁금합니다. 내 생각 엔? 그러나 그것이 가능하고 / 혹은 추천 가능한지 모르겠습니다. 일부 피드백 / 대안 (필요한 경우)이 좋을 것입니다 :)

1
변수가> 1 ISR에서 액세스되지만 ISR 외부에서 공유되지 않는 경우 휘발성이 필요합니까?
있어 명확하게 문서화 된 글로벌 데이터가 ISR 및 메인 프로그램과 공유 될 때, 데이터 요구가 선언 할 것을 volatile보증 메모리 가시성하기 위해 (그리고 그것은 단지 1 바이트 데이터에 충분하다; 아무것도 더 큰 요구도 보장 자성 특별한 조치를) . 여기 좋은 규칙이 있습니다. ISR 외부에서만 사용되는 변수는 변동성이 없어야합니다. ISR 내부에서만 …
9 interrupt  timers  isr 


5
Arduino가 특정 (예 : 56kHz) 반송파 주파수를 어떻게 출력 할 수 있습니까?
두 지점 사이에 무선으로 데이터를 보내기 위해 자유 공간 광학 프로젝트를 진행하고 있습니다. 이 작업을 수행하기 위해 송신기의 56 kHz 캐리어 주파수로 펄스하는 Arduino Uno에 연결된 IR LED와 수신기의 56 kHz IR 검출기 모듈이있는 두 번째 Arduino를 사용하고 있습니다. 반송파 주파수를 생성하기 위해 핀 하이와 핀 로우 명령 사이에 delayMicroseconds …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.