본문 바로가기

Nordic/nRF52

(27)
[nRF52 xBee EVM] ARDUINO 성능 측정 nRF52를 이용하여 Arduino에서 제공하는 digitalWrite()함수를 이용해서 GPIO 제어 속도를 측정 해 보았다. 600ns정도로 측정된다. 역시 많이 느리군... #define LED_PIN1 17 void setup() { Serial.begin(115200); pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(LED_PIN1, 1); digitalWrite(LED_PIN1, 0); } GPIO 직접 제어 하면 더 빠른데 직접 제어 함수가 어디에 정의 되어 있을까? digitalWrite() 함수를 보면 아래와 같이 제어 하고 있다. void digitalWrite( uint32_t ulPin, uint32_t ulVal ) { if (..
[nRF52 xBee EVM] ARDUINO 만들기 nRF52 보드를 ARDUINO 에서 동작시키려고 Genernic nRF52로 설정해서 구동 했는데.. 다운로드 하면 정상 하지 않는다. nRF5x 를 Arduino에서 구동하기 위한 설정은 [nRF51822 xBee EVM] - Arduino Board 만들기 를 참고 하면된다. 보드파일을 열어 보니 Genrnic nRF52는 디폴트로 nRF52833으로 되어 있다. 플래시 용량이나 기타 설정이 nRF52810과 맞지 않는것 같다. # nRF52833 variants ################### Generic_nRF52833.name=Generic nRF52833 Generic_nRF52833.upload.tool=sandeepmistry:openocd Generic_nRF52833.upload..
[nRF52 xBee EVM] BLE 테스트 - BLE 온도 전송 예제(HTS) 테스트 (IAR) nRF5 SDK에서 제공 하는 예제중 온도 값을 앱으로 전송 하는 예제가 있다. examples/ble_peripheral/ble_app_hts [nRF52 xBee EVM] 기본 동작 테스트 - temperature 테스트 (IAR) 예제를 이용해 보드내보의 온도 값을 가져 오도록 했다. static void hts_sim_measurement(ble_hts_meas_t * p_meas) { static ble_date_time_t time_stamp = { 2012, 12, 5, 11, 50, 0 }; uint32_t celciusX100; p_meas->temp_in_fahr_units = false; p_meas->time_stamp_present = true; p_meas->temp_type_p..
[nRF52 xBee EVM] BLE 테스트 - BLE HID Keyboard 테스트 (IAR) nRF5 SDK에서 제공하는 BLE예제 중에 BLE HID Keyboard 예제를 테스트 해 보았다. /examples/ble_peripheral/ble_app_hids_keyboard 소프트디바이스 설정은 [nRF51822 xBee EVM] BLE 테스트 - BLE UART(IAR) 를 참고 해서 설정하고 Arduino IDE에서 사용여부를 설정해 주면 된다. nRF5 SDK BLE Keyboard 기본 예제소스코드 int main(void) { bool erase_bonds; // Initialize. log_init(); timers_init(); buttons_leds_init(&erase_bonds); power_management_init(); ble_stack_init(); scheduler..
[nRF52 xBee EVM] BLE 테스트 - BLE UART 테스트 (IAR) nRF52의 가장 큰 특징인 BLE 동작 테스를 해 보자 nRF5 SDK에서 기본으로 제공하는 BLE UART 예제를 이용하여 테스트 할 수 있다. examples\ble_peripheral\ble_app_uart BLE를 사용하려면 softdevice 라이브러리가 필요 한데 softdevice를 다운로그 하려면 nRFgo-Studio (https://www.nordicsemi.com/Products/Development-tools/nRFgo-Studio/Download ) 가 필요하다. 우선 nRFgo-Studio를 이용해서 hex 파일을 프로그램 해주어야 한다. /components/softdevice/s132/hex 디버깅 메시지 출력을 위해 설정 파일 수정이 필요 하다. examples\ble_p..
[nRF52 xBee EVM] 기본 동작 테스트 - I2C 테스트, LM75 온도 센서 (IAR) nRF5x 를 이용하는 프로젝트는 대부분 IOT용 센서가 많이 있으므로 I2C 는 가장 기본이 될것 같다. nRF5 SDK에서 제공하는 I2C 예제를 이용하여 테스트 해보자. 가장 쉽게 테스트 해 볼 수 있는 I2C 스캐너 예제를 구동해 보자. /examples/peripheral/twi_scanner [nRF52 xBee EVM] 보드의 I2C는 IO26, IO25에 할당되어 있다. pca10028.h 파일에서 핀맵을 [nRF51822 xBee EVM] 보드에 맞도록 수정 한다. //#define ARDUINO_SCL_PIN 7 // SCL signal pin //#define ARDUINO_SDA_PIN 30 // SDA signal pin #define ARDUINO_SCL_PIN 26 // SCL..
[nRF52 xBee EVM] 기본 동작 테스트 - temperature 테스트 (IAR) nRF5x 칩 내부에 온도센서가 있다. Temperature sensor (TEMP) The temperature sensor measures die temperature over the temperature range of the device with 0.25° C resolution. examples\peripheral\temperature int main(void) { // This function contains workaround for PAN_028 rev2.0A anomalies 28, 29,30 and 31. int32_t volatile temp; nrf_temp_init(); APP_ERROR_CHECK(NRF_LOG_INIT(NULL)); NRF_LOG_DEFAULT_BACKENDS_..
nRF52 xBee EVM - 기본 동작 테스트 - PWM 테스트 (IAR) [nRF52 xBee EVM] 보드의 LED를 이용하여 PWM 테스트를 해 보자 nRF5 SDK 예제 /examples/peripheral/pwm_library 를 이용한다. LED는 IO17, IO19에 할당되어 있다. nRF5x PWM 테스트 소스 코드를 nRF51822 xBee EVM 보드에 맞도록 수정해서 구동하면 LED가 스무스하게 점등되는것을 확인 할 수 있다. APP_PWM_INSTANCE(PWM1,1); // Create the instance "PWM1" using TIMER1. static volatile bool ready_flag; // A flag indicating PWM status. void pwm_ready_callback(uint32_t pwm_id) // PWM call..

반응형