Firmware2017. 12. 13. 14:28

현재 내가 필요한 기능은 크게 보면 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
Posted by