개요
이전에 작업했던 생코딩 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
'임베디드.일렉트로닉스 > nRF52' 카테고리의 다른 글
문제해결. nRF5 SDK. NRF_LOG_INFO not shown in SES Debug Terminal. (1) | 2019.10.07 |
---|---|
nRF52840. SDK기반 코딩. step by step 2. GPIOTE (0) | 2019.10.06 |
nRF52. GPIOTE. GPIO tasks and events. (0) | 2019.10.05 |
nRF52840. GPIO 코딩. SDK 없이 레지스터 직접 제어 (1) | 2019.10.05 |
nRF52840 USB동글의 J-link 커넥터 연결하기 (0) | 2019.10.05 |
댓글