simple_dc_pca10028 (nRF51 PCA10028) 예제를 실행 시키고
예제 실행하는 방법을 모른다면 아래 포스팅을 먼저 보고 오세요.
또한 nRF51 시리즈에서는 app_timer와 nrf_drv_timer 2종류를 사용할 수 있습니다.
이번에는 nrf_drv_timer를 사용하는 방법을 소개 하겠습니다.
app_timer 추가는 방법은 아래 포스팅을 참고 하시면 됩니다.
본격적으로
버튼을 눌려 Manage Run-Time Environment를 실행 시킵니다.
nRF_Drivers - nrf_drv_timer와 nRF_Drivers - nrf_timer 옆에 체크 표시를 한 후 OK를 누룰러 창을 닫아줍니다.
화면 왼쪽에 프로젝트 창에
Project: simple_adc_pca10028
nrf51422_xxac
Application
main.c
nrf_drv_config.h를 열어서
아래 코드를 찾아
1 | #define TIMER0_ENABLED 0 | cs |
아래처럼 수정합니다.
1 | #define TIMER0_ENABLED 1 | cs |
main.c에 아래 소스를 추가합니다.
1 | #include "nrf_drv_timer.h" | cs |
1 | const nrf_drv_timer_t m_adc_timer_id = NRF_DRV_TIMER_INSTANCE(0); | cs |
1 2 3 | void adc_timeout_handler(nrf_timer_event_t event_type, void* p_context) { printf("AAA"); } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 | void timer_config(void) { uint32_t time_ticks; nrf_drv_timer_init(&m_adc_timer_id, NULL, adc_timeout_handler); time_ticks = nrf_drv_timer_ms_to_ticks(&m_adc_timer_id, 500); nrf_drv_timer_extended_compare( &m_adc_timer_id, NRF_TIMER_CC_CHANNEL0, time_ticks, NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, true); } | cs |
메인함수에서 함수 호출하고
1 | timer_config(); | cs |
타이머를 시작해야되는 부분에서 아래 함수를 호출하면 됩니다.
1 | nrf_drv_timer_enable(&m_adc_timer_id); | cs |
그러면 0.5초 마다 AAA를 출력해 줍니다.
'Programing > Nordic(BLE)' 카테고리의 다른 글
nRF52832 시작하기 (0) | 2019.06.30 |
---|---|
nrf51 Pin Function (0) | 2016.01.22 |
nRF51 ADC 사용하기 (0) | 2016.01.19 |
타이머 인터럽트 추가하기 (0) | 2016.01.15 |
UART 양방향 통신이 되지 않을 때 (0) | 2016.01.15 |