본문 바로가기

Programing/ Nordic(BLE)

개발 보드 모델명 PCA10040 : nRF52832 PCA10040e : nRF52810 PCA10056 : nRF52840 PCA10056e : nRF52811 PCA10059 : nrf52840 Dongle PCA10100 : nRF52833 PCA10100e : nRF52820 정확하지 않음
Nordic BLE Mesh 예제 분석 모듈 1개로 테스트 할때 1. Connect to the device with the interactive console: python D:\Nordic\SDK\nrf5_SDK_for_Mesh_v4.0.0_src\scripts\interactive_pyaci\interactive_pyaci.py -d COM6 —no-logfile 2. Send a test `Echo` command to see that the device is connected: send(cmd.Echo("hello world")) TX : 0C 02 68 65 6C 6C 6F 20 77 6F 72 6C 64 // TX : 0C 02 hello world RX : 0C 82 68 65 6C 6C 6F 20 77 6F 72 6C 64 /..
adafruit nRF52832 feather 보드 SES에서 사용하기 nRF5_SDK_16.0.0_98a08e2\components\boards 폴더에 보드 정의 파일 생성 파일 이름은 "custom_board.h" 다른 이름으로 해도됨 파일 내용 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #ifndef CUSTOM_H #define CUSTOM_H #ifdef __cplusplus extern "C" { #endif #include "nrf_gpio.h" #define LEDS_NUMBER 2 #define LED_1 19 // BLUE #define LED_2 17 // RED #de..
nRF52832 시작하기 하드웨어 개발을 하는 입장에서 맨날 8bit PIC 프로세스만 개발하다가 ARM 코어를 개발하려니 공부가 필요하다는것을 느꼈다. 하지만 세상에는 똑똑한 사람도 많고 그걸 나 같은 초보자(?)들이 쉽게 사용할 수 있게 공유해주는 사람도 많다. 처음에는 아두이노 부트로더를 올려서 아두이노 라이브러리를 이용하여 프로그램였는데 간단한것을 프로그램 할때는 개발 속도도 빠르고 좋았는데 깊에 들어가다 보니 안되는 것들이 많이 결국 직접 개발하는 쪽으로 방향을 틀었다. 그래서 앞으로 공부하면서 다시 여기에 내가 작업하는 내용을 올리려고 생각중이다. 생각중이라는게 핵심이다;;;;;; 일단은 아두이노 부트로더 사용하는 방법 부터 올릴거 같다.
nrf51 Pin Function nRF51 시리즈는 문서 종류가 너무 많다. 이런 문서에 Pin Function 내용이 있어 포스팅한다. Pin Pin name Pin function Description 1 VDD Power Power supply. 2 DCC Power DC/DC output voltage to external LC filter. 3 P0.30 Digital I/O General purpose I/O pin. 4 P0.00 AREF0 Digital I/O Analog input General purpose I/O pin. ADC/LPCOMP reference input 0. 5 P0.01 AIN2 Digital I/O Analog input General purpose I/O pin. ADC/LPCOMP input ..
simple_dc_pca10028 (nRF51 PCA10028) 예제에 타이머 인터럽트 추가하기 simple_dc_pca10028 (nRF51 PCA10028) 예제를 실행 시키고 예제 실행하는 방법을 모른다면 아래 포스팅을 먼저 보고 오세요."nrf51 시리즈 개발환경 구축" 바로가기또한 nRF51 시리즈에서는 app_timer와 nrf_drv_timer 2종류를 사용할 수 있습니다. 이번에는 nrf_drv_timer를 사용하는 방법을 소개 하겠습니다. app_timer 추가는 방법은 아래 포스팅을 참고 하시면 됩니다."타이머 인터럽트 추가하기" 바로가기 본격적으로버튼을 눌려 Manage Run-Time Environment를 실행 시킵니다.nRF_Drivers - nrf_drv_timer와 nRF_Drivers - nrf_timer 옆에 체크 표시를 한 후 OK를 누룰러 창을 닫아줍니다. 화면 ..
nRF51 ADC 사용하기 nRF51에는 총 8개의 ADC 포트가 존재한다.AIN0 ~ AIN7문제는 ADC 포트가 실제 몇번 포트와 연결되어 있는지 모르겠다;;;;;; 실험을 통해 알아낸 정보는 아래와 같다.(참고로 PCA10028 보드 기준이다.)AIN0 : 알 수 없음 P0.26AIN1 : 알 수 없음 P0.27AIN2 : P0.01AIN3 : P0.02AIN4 : P0.03AIN5 : P0.04AIN6 : P0.05AIN7 : P0.06 AIN0과 AIN1은 몇번이랑 연결되어 있는지 모르겠다.내부 온도계가 있는것 같던데 그거랑 연결되어 있지 않나 추축할 뿐;;;또한 다른 포트에 연결 하여 사용할수 있을것 같은데 관련 정보를 더 찾아봐야겠다.역시 모든 내용은 데이터 시트에 있었다.문제는 데이터 시트 하나가 아니라는거;;;;;..
타이머 인터럽트 추가하기 ble_app_uart_s130_pca10028(nRF51822 PCA10028) 예제에 타이머 인터럽트를 추가하기nRF51에서 타이머 인터럽트를 구현하는 방법은 여러가지가 있지만 저는 app timer를 추가하는 방법을 소개 하겠습니다.방법은 아래 소스를 전부 넣어 주고 메인문에 "timers_init"와 "Z application_timers_start"함수를 호출해 주면 됩니다.당연히 초화 함수를 먼저 호출하고 스타트 함수를 호출해야됩니다.타이머 인터럽트가 발생되면 "battery_level_meas_timeout_handler"함수가 실행됩니다. 첫줄의 UNUSED_PARAMETER(p_context);는 무슨 역할을 하는지 모르겠습니다.아래 소스는 LED_2번을 1초마다 깜빡이는 소스입니다.인터..