본문 바로가기
임베디드.일렉트로닉스/nRF52

nRF52840. SDK기반 코딩. step by step 1. 시간지연함수

by i.got.it 2019. 10. 5.

 

개요

이전에 작업했던 생코딩 GPIO 제어 프로젝트에 SDK 에서 제공하는 시간지연 함수 nrf_delay_ms() 호출하기 위한 설정과정 상세히 보인다. 

 

사전준비

1. sdk없이 만든 GPIO 제어 프로젝트.

https://igotit.tistory.com/2314

 

nRF52840. GPIO 코딩. SDK 없이 레지스터 직접 제어

개요. - nRF52840 의 GPIO 제어 코드를 nRF5 SDK 없이 레지스터 직접 접근하여 코딩하는 예 정리. - SDK 없이 레지스터 직접 제어 코드 작성해봐야 하는 이유 . 실활용목적에서는 SDK 기반하여 작성하겠지만 초보..

igotit.tistory.com

2. sdk 제공예제코드를 프로젝트 템플릿3 형식으로 재구성한 프로젝트. 

https://igotit.tistory.com/2308 의 활용1(SES 프로젝트) 활용2(KEIL 프로젝트) 에서 제작된 프로젝트.

 

nRF5 SDK 기반 SES , KEIL 멀티 프로젝트 폴더 구축 및 프로젝트 템플릿3

개요 NORDIC 사에서 배포하는 nRF5 SDK 의 폴더 구성은 사용자(개발자) 입장에서는 좋은 구조 아니다. 본 글에서는 nRF5 SDK 기반으로 코드 구현 및 프로젝트 관리 용이한 프로젝트 작업 폴더 구축 방법 정리. 참..

igotit.tistory.com

기 2개의 프로젝트를 동시에 오픈하여 2번 프로젝트 소스와 구성을 참조하여 1번 프로젝트에서 SDK 기반 구성으로 변경하는 과정 보인다. 

 

 

1번 GPIO 의 포로젝트의 main .while 문내는 아래처럼 LED토글링 하는 것으로 해두자. 시간지연없이 토글링하기 때문에 모든 LED가 켜진상태로 보이는 중이다. 

 

  while(1)
  {
    toggle_gpio_p0(13); // LED1 toggle
    toggle_gpio_p0(14); // LED2 toggle
    toggle_gpio_p0(15); // LED3 toggle
    toggle_gpio_p0(16); // LED4 toggle
  }	

 

이 상태에서 시간지연 기능을 SDK 제공함수 이용하여 구현한다.  

아래동영상에서 SDK 제공함수인 nrf_delay_ms() 호출하기 위한 프로젝트의 설정과정 전체 보인다. 위 단계 완료된 펌웨어를 보드에 기록하면 0.5 초 delay 되어 점멸하는걸 볼 수 있다. 본 과정에서의 설정의 요점은 SDK 에서 제공하는 헤더 파일 링크 가능하도록 경로 설정 추가한것이 전부.

SES 프로젝트에서 구성하는 과정.

 

 

본 프로젝트 구성은 SES 와 KEIL 모두에서 동일소스로 빌드 가능한 구성이다. 아래 영상에서는 위 SES에서 작업완료후 KEIL에서 작업 과정 보인다.

KEIL 프로젝트에서 구성하는 과정.  

 

 

위 과정을 보면 SDK 의 소스 C파일은 프로젝트 구성요소에 포함시키는 과정 없이 헤더파일만 포함시켜도 nrf_delay_ms() 함수 가 정상 실행되고 있다. 이 함수는 c파일에서 정의되어있지 않고 헤더파일에 inline 으로 정의되어있기 때문이다. 다른 SDK 제공함수 대부분은 필연 C파일들을 포함해야 한다.  

 

 

 

 

본 글 포함된 상위 정리글

https://igotit.tistory.com/244 의 nRF52

 

STM32. nRF52. ESP32. EFM8. EFM32. PSoC 활용 정리.

STM32. nRF52. ESP32. EFM8. EFM32. PSoC 총정리 제조사 칩 주요특징 실리콘랩 8bit MCU EFM8 시리즈 32bit EFM32 시리즈 EFM8 싸다. STM STM32 . 최고 항상 만족. Cypress pSoC pSoC6 은 기대해볼만. NORDIC nRF5..

igotit.tistory.com


첫등록 : 2019년 10월5일

최종수정 : 

 

본 글 단축주소 : https://igotit.tistory.com/2323

 


 

댓글



 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5