전체 글 (2180) 썸네일형 리스트형 [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 .. [nRF54 Xbee EVM] ADC 테스트 nRF54L 시리즈 ADC는 세 가지 주요 해상도 모드를 지원한다.최대 샘플링 속도 2Msps의 10비트 모드12비트 모드, 샘플링 속도 250ksps14비트 모드, 샘플링 속도 31.25ksps [nRF54 Xbee EVM] 의 ADC는 표준 핀맵상 ADC0 P10.5 에 할당되어 있다. ADC를 사용하기 위해 먼저 app.overlay 파일에 ADC0를 등록하고 핀맵을 정의 해 주어야 한다./ { model = "Ophelia-IV EV Application MCU"; compatible = "we,ophelia4ev_nrf54l15-cpuapp"; chosen { zephyr,console = &uart21; zephyr,shell-uart = &uar.. [nRF54 Xbee EVM] nRF54L15 UART 테스트 [nRF54 Xbee EVM] 의 UART는 표준 핀맵상 TXD P20.8, RXD P2.07는 UART21 에 할당되어 있다. 먼저 app.overlay 파일에 UART를 등록하고 핀맵을 정의 해 주어야 한다./ { 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; mc.. 이전 1 2 3 4 ··· 273 다음