nrf51 dk27 nRF51 DK 예제 9 - PPI PPI는 GPIOTE 예제때 한번 나왔던 Programmable Peripheral Interconnect 를 말합니다. GPIOTE예제때는 타이머를 EEP로 LED토글(GPIOTE TASK)을 TEP로 해서 테스트를 했었습니다. 이번 예제에서는 타이머 3가지를 이용한 예제입니다. 타이머0은 카운터로 설정하고, 타이머1과 타이머2를 사용하여, 타이머1일때는 타이머0이 멈추고, 타이머 2일때는 타이머0이 동작해서 매 200ms마다 타이머0을 카운터하는 예제입니다. 먼저 main함수부터 보겠습니다. main.c 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647int main(void){ timer0_ini.. 2015. 3. 4. nRF51 DK 예제 8 - Pin change interrupt 이번 예제는 interrupt 예제입니다. main.c 123456789int main(void){ gpio_init(); while (true) { // Do nothing. }}cs 이번 예제는 Line 3의 gpio_init()으로 끝입니다. 123456789101112static void gpio_init(void){ nrf_gpio_cfg_output(PIN_OUT); nrf_gpio_cfg_input(PIN_IN, NRF_GPIO_PIN_PULLUP); nrf_gpio_pin_clear(PIN_OUT); // Enable interrupt: NVIC_EnableIRQ(GPIOTE_IRQn); NRF_GPIOTE->CONFIG[0] = (GPIOTE_CONFIG_POLARITY_Toggle 2015. 3. 3. nRF51 DK 예제 7 -Radio Receiver 이번 예제 역시 Radio Transmitter 예제와 함께 하는 예제입니다. 이 소스는 동글에 설치하였습니다. 사용한 제품은 nrf51 dongle로 모델명은 PCA10031입니다 소스는 앞의 Radio Transmitter와 거의 비슷합니다. main.c 1234567891011121314151617181920212223242526272829303132333435363738394041424344int main(void){ uint32_t err_code = NRF_SUCCESS; clock_initialization(); APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_MAX_TIMERS, APP_TIMER_OP_QUEUE_SIZE, false); const app_.. 2015. 3. 3. nRF51 DK 예제 6 -Radio Transmitter 이번 예제는 무선으로 패킷을 주고받는 예제입니다. 이 예제를 하기위해서는 보드가 2개가 필요한데, 동글을 이용하여도 됩니다. nrf51 DK(PCA 10028)은 transmitter로 dongle(PCA 10031)은 receiver로 설정합니다. main 12345678910111213141516171819202122232425262728293031323334353637383940414243444546int main(void){ uint32_t err_code = NRF_SUCCESS; clock_initialization(); APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_MAX_TIMERS, APP_TIMER_OP_QUEUE_SIZE, false); APP_GP.. 2015. 3. 3. nRF51 DK 예제4 flashwrite 이번 예제는 uart로 char형 문자 하나를 입력 받아 flash에 써주고, 써넣은걸 읽어오는 예제입니다. main.c 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970int main(void){ uint32_t * addr; uint8_t patwr; uint8_t patrd; uint8_t patold; uint32_t i; uint32_t pg_size; uint32_t pg_num; uint32_t err_code; APP_GPIOTE_INIT(1); const app_uart_comm_params_t comm_.. 2015. 3. 2. nRF51 DK 예제 2 LED blinky_rtx 예제명이 blinky_rtx라길래 uart로 led 제어하는 줄 알았는데, 전혀 상관없네요.^^;; RTX는 CMSIS-RTOS라고 하네요. 어쨌든 이번 예제는 RTX를 이용한 LED 블링크입니다. LED 하나는 스레드를 이용하고, LED하나는 timer를 이용해서 서로 다른 interval로 블링크합니다. main.c 123456789101112131415161718#define OUTPUT_0_INTERVAL 100 /** 2015. 2. 26. 이전 1 2 3 4 5 다음 인기글