반응형
nRF51 DK 예제소스가 keil로 되어 있습니다.
IAR stm32f 를 하다 넘어오니 힘드네요;;
헤더파일찾기도 힘들고;;
우선 LED blink 예제!!
main.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <stdbool.h> #include <stdint.h> #include "nrf_delay.h" #include "nrf_gpio.h" #include "boards.h" const uint8_t leds_list[LEDS_NUMBER] = LEDS_LIST; /** * @brief Function for application main entry. */ int main(void) { // Configure LED-pins as outputs. LEDS_CONFIGURE(LEDS_MASK); // Toggle LEDs. while (true) { for (int i = 0; i < LEDS_NUMBER; i++) { LEDS_INVERT(1 << leds_list[i]); nrf_delay_ms(500); } } } | cs |
Line 7 : unsigned int 형 led 배열을 const로 선언합니다.
LEDS_NUMBER과 LEDS_LIST는 pca10028.h 에 있습니다.
Line 15 : LED설정하는 부분으로 포트 출력으로 설정하는 부분입니다.
LEDS_CONFIGURE는 board.h에 LEDS_MASK는 pca10028.h에 있습니다.
Line 22 : LED를 토글해주는 부분으로 LEDS_INVERT는 board.h에 있습니다.
Line 23 : Delay입니다. nrf_delay_ms는 nrf_delay.c에 있습니다.
pca10028.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #define LEDS_NUMBER 4 #define LED_START 21 #define LED_1 21 #define LED_2 22 #define LED_3 23 #define LED_4 24 #define LED_STOP 24 #define LEDS_LIST { LED_1, LED_2, LED_3, LED_4 } #define BSP_LED_0 LED_1 #define BSP_LED_1 LED_2 #define BSP_LED_2 LED_3 #define BSP_LED_3 LED_4 #define BSP_LED_0_MASK (1<<BSP_LED_0) #define BSP_LED_1_MASK (1<<BSP_LED_1) #define BSP_LED_2_MASK (1<<BSP_LED_2) #define BSP_LED_3_MASK (1<<BSP_LED_3) #define LEDS_MASK (BSP_LED_0_MASK | BSP_LED_1_MASK | BSP_LED_2_MASK | BSP_LED_3_MASK) /* all LEDs are lit when GPIO is low */ | cs |
board.h
1 2 3 4 5 6 7 8 | #define LEDS_INVERT(leds_mask) do { uint32_t gpio_state = NRF_GPIO->OUT; \ NRF_GPIO->OUTSET = ((leds_mask) & ~gpio_state); \ NRF_GPIO->OUTCLR = ((leds_mask) & gpio_state); } while (0) #define LEDS_CONFIGURE(leds_mask) do { uint32_t pin; \ for (pin = 0; pin < 32; pin++) \ if ( (leds_mask) & (1 << pin) ) \ nrf_gpio_cfg_output(pin); } while (0) | cs |
nrf_delay.c
1 2 3 4 5 6 7 8 | void nrf_delay_ms(uint32_t volatile number_of_ms) { while(number_of_ms != 0) { number_of_ms--; nrf_delay_us(999); } } | cs |
PS.관련된 부분만 첨부하였습니다.
반응형
'Study > nRF51xxx(BLE)' 카테고리의 다른 글
nRF51 DK 예제3 bsp (0) | 2015.02.27 |
---|---|
nRF51 DK 예제 2 LED blinky_rtx (0) | 2015.02.26 |
nRF51 DK 비콘모드 설정 (0) | 2015.02.24 |
nRF51 DK (2) | 2015.02.24 |
MDK ARM 세팅!! (0) | 2015.02.13 |