본문 바로가기

분류 전체보기

(1955)
[nRF52 xBee EVM] Arduino 테스트 - PCF8574 I2C nRF52 xBee EVM 보드로 I2C IO확장 PCF8574보드를 테스트를 하려고 Arduino 코드를 실행 했는데 I2C가 동작 하지 않는다 nRF5 SDK 의 IAR 툴을 이용하여 I2C 테스트할 때는 문제가 없었는데... Wirte 함수에서 멈춰 있다. 왜 그렇지? 옵션중에 -DNRF52 가 있는데... -DNRF52를 DNRF52810으로 해 주어야 하는 것 아닐까? 플래그 설정을 -DNRF52810_XXAA 로 변경하니 에러가 많이 발생한다. 다시 DNRF52로 설정하면 컴파일은 잘 되지만 I2C가 정상 동작 하지 않는다. Generic_nRF52810.build.extra_flags=-DNRF52 NRF_TWIM1 를 0으로 바꾸면 어떨까? I2C쪽 코드를 살펴보니 TowWire 설정이 N..
[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..
STM32H MCU 성능 테스트 - Dhrystone and Whetstone Benchmark MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 앞으로 MCU 성능 측증을 Dhrystone and Whetstone Benchmark 로 하면 좋을것 같다. 테스트한 소스코드는 하기 사이트를 참고 해서 한번에 Dhrystone, Whetstone, IIR 성능 지수를 출력하도록 했다. https://github.com/stm32duino/STM32Examples/tree/main/examples/Benchmarking 벤치마크 테스트 결과 mode ..
[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..

반응형