현재 내가 필요한 기능은 크게 보면 BLE, PWM, Timer 정도이다.
간단하게 BLE를 살펴보자.
보드는 PCA10028을 준비하고 SDK는 nRF_SDK_12.3.0 을 준비한다.
SDK의 예제중에 ble prepheral - ble app uart 라는 폴더에 보면 pca10028\s130\arn5_nopacks 에 프로젝트 파일이 있다.
열어주면 간단한 테스트를 진행할 수 있는 예제 코드가 준비되어 있다.
이 예제를 보드에 다운로드 시키면 준비는 완료되었다.
이제 0x31이란 데이터를 받으면 0x32를 뱉는 예제로 변환해보자.
일단 예제가 도착했다는 신호가 필요하다.
예제를 잘 살펴보면 ble 데이타가 도착했을때 작동하는 handler 가 있다. 본 예제에서는 nus_data_handler 으로 되어있다.
변수 하나(트리거)를 만들어서 해당 핸들러가 작동하면 TRUE로 만들어준다.
동시에 예제 구조를 잘 살펴보면 해당 핸들러의 변수중 *p_data 가 ble로 받는 데이타 임을 알 수 있다.
이걸 글로벌 변수 하나를 만들어 링크시켜주자.
이제 다 끝났다.
메인으로 돌아가 해당 트리거가 TRUE가 될 때 FALSE로 바꿔줌과 동시에 해당 BLE로 0x32를 Send 시키면 된다.
데이터를 보내는 방법은 아래 함수를 이용하면 된다.
ble_nus_string_send(&m_nus, 0x32, 1);
'Firmware' 카테고리의 다른 글
nrf52840 uart (0) | 2020.02.04 |
---|---|
nrf52840 gpio (0) | 2020.02.04 |
nRF51 Timer(1) (0) | 2017.12.14 |