전체 글 (2182) 썸네일형 리스트형 [nRF54 Xbee EVM] BLE HID Keyboard 테스트 BLE 예제중 KeyBoard 예제를 테스트 해보자.기존 Nordic의 BLE Keyboard 예제들은 잘 동작 했었는데...nRF zephyr 예제에서 제공하는 BLE HID Keyboard 예제를 컴파일 하면 spi_nor.c 파일에서 오류가 발생한다. from C:/ncs/v3.3.1/zephyr/drivers/flash/spi_nor.c:14: 보안 인증 관련 BLE 정보를 저장하는 장소로 디폴트가 NOR Flash로 설정되어 서 그렇다고 한다. prj.conf 파일에서 NOR Flash를 사용하지 않도록 옵션설정하면 정상 컴파일 된다. CONFIG_SPI_NOR=n 하지만 NOR Flash가 없으면 NVS 가 활성화 되지 않아 페어링 정보를 저장할수 없어서 문제가 된다.특히 보안을 중요시 하.. [nRF54 Xbee EVM] PWM 테스트 - SK6812 NexPixel LED 제어 nRF54 Xbee의 PWM 테스트를 위해 Xbee 키보드 인터페이스 보드의 SK6812 LED를 제어하는 테스트를 해 보자. SK6812 NexPixel LED를 제어 하는 방법은 여러가지가 있지만 간단하게 PWM으로 제어할 수 있다. 우선 nRF54의 PWM 초기화 함수를 작성한다.#include #include #include #define SK6812_PIN NRF_GPIO_PIN_MAP(1, 8)#define NUM_LEDS 4#define BITS_PER_LED 24 // GRB 24비트#define TOTAL_DATA_BITS (NUM_LEDS * BITS_PER_LED)#define RESET_B.. [nRF54 Xbee EVM] Zephyr RTOS 타이머 , 멀티스레드 테스트 프로젝트를 수행하다보면 주기적으로 센서를 체크 하거나 LED를 깜박이는 등의 시스템 클록을 기반으로 안전하게 동작하는 동작이 필수적으로 필요하다.Zephyr RTOS를 사용하면 다양한 방식으로 이러한 처리를 할수 있는 방안을 제공한다.우선 가장 간단한 방식으로 k_uptime_get() 함수를 이용해서 경과한 시간(Uptime)을 밀리초(ms) 단위로 반환하는 Zephyr RTOS의 가장 대표적인 시간 측정 API이다. #include #include #include #include #include "nrf54_xbee_drv_define.h"int main(void){ int err; int64_t previous_time; InitGpio(); k_msleep(1000); .. [nRF54 Xbee EVM] BLE 테스트 - BLE 앱 제어 테스트 [nRF54 Xbee EVM] BLE 테스트 - BLE NUS(Nordic UART Service) 예제를 이용해서 기존에 테스트 했던 BLE 앱으로 제어 해 보자.unsigned int gPwmValue = 0;void parse_received_data(const void *data, uint16_t len){ // 1. 데이터 길이 검증 (최소 7바이트 이상이어야 함) if (data == NULL || len LED Command: Unknown (%d)\n", led_cmd); } uint8_t brightness = packet[5]; printk("%d\n", brightness); gPwmValue = brightness; // SetLedBright.. [nRF54 Xbee EVM] BLE 테스트 - BLE NUS(Nordic UART Service) 지금 까지 [nRF54 Xbee EVM] 의 기본적인 동작 테스트를 진행이 되었기 때문에 이제는 nRF54의 가장 핵심인 BLE 예제를 테스트 해보자.가장 간단하게 NUS(Nordic UART Service) 예제 로 BLE UART 테스트를 해보자 기본 NUS 예제로 하면 잘(? 버그 있음) 동작한다. prj.conf 파일에 BLE관련 사용을 설정해 주어야 한다.CONFIG_BT=yCONFIG_BT_PERIPHERAL=yCONFIG_BT_ZEPHYR_NUS=y# 1. ATT MTU 및 데이터 패킷 크기 최대화 (속도 향상의 핵심)CONFIG_BT_L2CAP_TX_MTU=247CONFIG_BT_BUF_ACL_RX_SIZE=251CONFIG_BT_BUF_ACL_TX_SIZE=251# 2. Data Le.. [nRF54 Xbee EVM] SPI 테스트 - MAX31865 PT100 RTD Sensor Test [nRF54 Xbee EVM] 의 SPI 는 표준 핀맵상 P2.1, P2.2, P2.4 SPI20에 할당되어 있다. SPI를 사용하기 위해 먼저 app.overlay 파일에 SPI20을 등록하고 핀맵을 정의 해 주어야 한다./ { model = "Ophelia-IV EV Application MCU"; compatible = "we,ophelia4ev_nrf54l15-cpuapp"; chosen { zephyr,console = &uart21; zephyr,shell-uart = &uart21; zephyr,uart-mcumgr = &uart21; }; aliases { mcuboot-button0 = &button0; .. [nRF54 Xbee EVM] I2C 테스트 - IMU 센서 ICM-42670 테스트 [nRF54 Xbee EVM] 보드 내에는 IMU 센서 ICM-42670 이 내장되어 있다. I2C 방식으로 ICM-42670의 센서 데이터를 출력하는 예제를 작성해 보자.ICM-42670 은 I2C, SPI 방식으로 제어 가능한데 I2C 방식이 경우 P0.4, P0.03 I2C30에 할당되어 있다. I2C30을 를 사용하기 위해 먼저 app.overlay 파일에 I2C30를 등록하고 핀맵을 정의 해 주어야 한다. Zephyr RTOS에 ICM-42760 드라이버를 제공하므로 드라이버를 등록해 주면 쉽게 사용 가능하다./ { model = "Ophelia-IV EV Application MCU"; compatible = "we,ophelia4ev_nrf54l15-cpuapp"; ch.. [nRF54 Xbee EVM] I2C 테스트 - SSD1306 OLED 출력 하기 [nRF54 Xbee EVM] 의 I2C는 표준 핀맵상 SCL P1.11, SDA P1.10 I2C21에 할당되어 있다. I2C를 사용하기 위해 먼저 app.overlay 파일에 I2C22를 등록하고 핀맵을 정의 해 주어야 한다. Zephyr RTOS는 OLED SSD1306도 기본으로 지원하므로 드라이버를 등록해 주면 쉽게 사용 가능하다./ { model = "Ophelia-IV EV Application MCU"; compatible = "we,ophelia4ev_nrf54l15-cpuapp"; chosen { zephyr,console = &uart21; zephyr,shell-uart = &uart21; zephyr,uart-mcumgr .. 이전 1 2 3 4 ··· 273 다음