nrf 52832 의 timer
2326 단어 낮은 전력 소모 블 루 투 스
개발 환경:bleapp_hrs demo 에 타이머 작업 추가 timer 라 는 demo 를 참고 하 세 요.
이 예 는 timer 1 을 사용 하고 32bit 모드 로 수정 합 니 다.
단계 추가:
1.드라이버 추가 nrf_drv_timer.c 프로 토 콜 스 택 에 있 는 디 렉 터 리 위치 : nRF52_SDK\components\drivers_nrf\\timer 폴 더 아래
2.mian.c 에 헤더 파일 nrf 추가drv_timer.h
#include "nrf_drv_timer.h"
3.main.c 에 timer 구조 체 변 수 를 추가 합 니 다.
const nrf_drv_timer_t TIMER_LED = NRF_DRV_TIMER_INSTANCE(1);
4.main.c 에 timer 1 초기 화 함수 와 정시 작업 처리 함 수 를 추가 합 니 다.
/**
* @brief Handler for timer events.
*/
void timer_led_event_handler(nrf_timer_event_t event_type, void* p_context)
{
// uint32_t led_to_invert = (1 << leds_list[(i++) % LEDS_NUMBER]);
// printf("6
");
switch(event_type)
{
case NRF_TIMER_EVENT_COMPARE0:
// LEDS_INVERT(led_to_invert);
ledFlash();
break;
default:
//Do nothing.
break;
}
}
void myTimerInit()
{
uint32_t time_ms = 1000; //Time(in miliseconds) between consecutive compare events.
uint32_t time_ticks;
uint32_t err_code = NRF_SUCCESS;
//Configure all leds on board.
//Configure TIMER_LED for generating simple light effect - leds on board will invert his state one after the other.
err_code = nrf_drv_timer_init(&TIMER_LED, NULL, timer_led_event_handler);
APP_ERROR_CHECK(err_code);
time_ticks = nrf_drv_timer_ms_to_ticks(&TIMER_LED, time_ms);
nrf_drv_timer_extended_compare(
&TIMER_LED, NRF_TIMER_CC_CHANNEL0, time_ticks, NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, true);
nrf_drv_timer_enable(&TIMER_LED);
}
5.main 함수 에 timer 초기 화 호출 추가:
myTimerInit();
6、nrf 에서driver_config.c 에서 timer 1 의 정 의 를 수정 합 니 다:
#define TIMER1_ENABLED 1
#if (TIMER1_ENABLED == 1)
#define TIMER1_CONFIG_FREQUENCY NRF_TIMER_FREQ_16MHz
#define TIMER1_CONFIG_MODE TIMER_MODE_MODE_Timer
#define TIMER1_CONFIG_BIT_WIDTH TIMER_BITMODE_BITMODE_32Bit
#define TIMER1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
nrf 52832 의 timernrf 52832 에는 다섯 개의 타이머 가 있 습 니 다.timer 0-timer 4.SDK 는 이미 timer 0 을 사 용 했 기 때문에 SDK 를 사용 했다 면 timer 0 을 더 이상 사용 할 수 없고 t...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.