본문 바로가기

nrf51 예제15

nRF51 DK 예제 19 -UART(Loop back test) 이번예제는 UART Loop back test입니다. main 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152int main(void){ LEDS_CONFIGURE(LEDS_MASK); LEDS_OFF(LEDS_MASK); uint32_t err_code; const app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, APP_UART_FLOW_CONTROL_ENABLED, false, UART_BAUDRATE_BAUDRATE_Baud38400 }; APP_.. 2015. 3. 16.
nRF51 DK 예제 18 -WDT(Watch Dog Timer) Watch Dog Timer(와치독 타이머)는 시스템이 어떤 원인으로 인해 뻗어버리는 것을 방지하기 위한 목적으로 쓰입니다. 일정시간 지정해 놓으면, 타이머가 동작하게 되고, 시스템이 재부팅됩니다. 시스템이 살아있다면 Watch Dog Timer가 동작하기전에 Timer를 reset시켜 재부팅 되는 것을 막습니다. nrf51에서는 위 식을 이용하여 타이머를 구하는데, CRV에 값을 넣어주면, 그 시간만큼 타이머가 동작합니다. 12345678910111213141516171819202122232425262728293031323334353637int main(void){ uint32_t err_code = NRF_SUCCESS; LEDS_CONFIGURE(LEDS_MASK); LEDS_OFF(LEDS_MAS.. 2015. 3. 16.
nRF51 DK 예제 14 -Real Time Counter(RTC) 이번 예제는 Real Time Counter입니다. 첨에 RTC(Real Time Clock)인줄 알았는데 Clock이 아니라 Counter군요. LED1은 Real Time Counter로 toggle하고, LED2는 Counter Compare해서 켜줍니다. main.c 123456789101112131415int main(void){ leds_config(); lfclk_config(); rtc_config(); while (true) { __SEV(); __WFE(); __WFE(); }}cs 단촐한 main문입니다. Line 3 : LED를 설정해줍니다. 12345static void leds_config(void){ LEDS_CONFIGURE(((1p_reg, p_config->prescale.. 2015. 3. 12.
nRF51 DK 예제 11 - radiotest (2) 이어서 radio test 2번째입니다. 이부분은 앞에서 설정해준 test 값에 따라 radio를 control하는 부분입니다. source 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455switch (test) { case RADIO_TEST_TXCC: if (sweep) { radio_sweep_end(); sweep = false; } radio_tx_carrier(txpower_, mode_, channel_start_); cur_test = test; test = RADIO_TEST_NOP; break; case RADIO_TEST_TXMC: if (sweep) .. 2015. 3. 6.
nRF51 DK 예제 11 - radiotest (1) 이번 예제는 Radio Test 예제입니다. Radio와 관련된 각종 세팅들을 UART를 통해서 간단히 설정하는 예제입니다. main함수가 긴 관계로 잘라서 설명할께요. main.c 1234567891011121314151617181920212223242526272829int main(void){ uint32_t err_code; radio_tests_t test = RADIO_TEST_NOP; radio_tests_t cur_test = RADIO_TEST_NOP; init(); const app_uart_comm_params_t comm_params = { RX_PIN_NUMBER, TX_PIN_NUMBER, RTS_PIN_NUMBER, CTS_PIN_NUMBER, APP_UART_FLOW_CONTR.. 2015. 3. 5.
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.

인기글