본문 바로가기

RaspberryPi/RP2040

(31)
RP2040 SSM - HID Keyboard Composite Device 테스트, CDC로 Key 값 설정하기 Keyboard, Disk Composite Device 로 Key 값을 설정 하는 방법외 CDC 로 설정하면 좀더 편리 하지 않을까? 키보드 + 시리얼 로 동작하게 해서 시리얼 포트로는 데이터 세팅 하도록 하는 코드 작성해 보았다. 스위치 누르면 키값을 전송하도록 했는데 keyboard_ramdisk.ino와 다른 현상이 발생한다. if (digitalRead(PIN_BUTTON1) == 0 ) { if(flag == 0) { flag = 1; keycode = hidcode[0]; usb_hid.keyboardReport(report_id, modifier, &keycode); Serial.print("press="); // delay a bit before attempt to send keyboar..
HID Keyboard Composite Device 테스트, RAM Disk로 Key 값 설정 Raspberry Pi-Pico 를 이용해서 HID Keyboard 를 테스트 했으니 Key값을 원하는 값으로 변경할 수 있도록 수정 할수 있는 Composite 장치로 인식 시켜 보자. 기존에는 HID로 인식 했지만 디스크 장치로 인식 시키면 좀더 유연한 인터페이스를 지원 할수 있을것 같다. composite 테스트 를 위해 mouse_ramdisk.ino 파일을 수정해서 Keyboard로 동작 하도록 수정 했다. (keyboard 예제는 없네..) // the setup function runs once when you press reset or power the board void setup() { #if defined(ARDUINO_ARCH_MBED) && defined(ARDUINO_ARCH_R..
RP2040 - HID Keyboard 테스트 (TinyUSB) RP2040은 USB가 포함되어 있기 때문에 진행 하려고 했던 KeyPad 프로젝트를 위한 USB HID Keyboard 를 테스트 해 보았다. 기본으로 제공하는 키보드 예제 테스트 하니 잘 동작한다. Arduino 기본 USB Keyboard 예제는 심플하고 간단해서 사용하기는 편한데 뭔가 좀더 복잡한 KeyBoard를 위해서는 아쉬운점이 있다. #include "Keyboard.h" const int buttonPin = 4; // input pin for pushbutton int previousButtonState = HIGH; // for checking the state of a pushButton int counter = 0; // button push counter void setup() ..
RP2040 SSM EVM - Aruino UART 테스트 UART, CDC RP2040 의 하드웨어 UART는 2채널이 제공된다. Arduino 환경에서 디포트 핀맵 정의는 아래와 같다. USB CDC는 Serial 에 하드웨어 시리얼은 Serial1, Serial2 로 선언되어 있다. SerialUSB Serial; SerialUART Serial1; // HW UART 0 SerialUART Serial2; // HW UART 1 // Serial #define PIN_SERIAL1_TX (0u) #define PIN_SERIAL1_RX (1u) #define PIN_SERIAL2_TX (8u) #define PIN_SERIAL2_RX (9u) RP2040 SSM EVM 에서 핀맵은 아래와 같이 정의 되어 있다. RP2040의 USB CDC는 기본 Serial로 할당되어 있..
RP2040 SSM EVM - Arduino 성능 테스트 기본 동작은 확인 되었으니 Arduin IDE 개발 환경에서 STM32F4의 성능 테스트를 진행 해 보자. Arduino에서 제공한 GPIO 함수를 이용하여 토글해 보면 700ns 정도 측정된다. 루프 수행 속도는 560ns 정도 된다. 역시 느리다. void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); digitalWrite(LED_BUILTIN, LOW); } Raspberry Pi Pico SDK 에서 제공하는 gpio_put() 함수를 사용해 보자 https://raspberrypi.github.io/pico-sdk-doxygen/group__hardware__gpio.html Ras..
RP2040 SSM EVM - Arduino 개발환경 설정 RP2040(Raspberry Pi Pico) 개발 환경은 여러가지가 있지만 가장 쉽고 간편한 Arduino IDE로 해 보자 우선 보드 매니저 파일 URL을 설정 하고 보드 파일을 설치 한다. https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json https://github.com/earlephilhower/arduino-pico 보드 파일 설치 후 필수 핀 정의 파일은 아래와 같다. // LEDs #define PIN_LED (25u) // Serial #define PIN_SERIAL1_TX (0u) #define PIN_SERIAL1_RX (1u) #define PIN_SERIA..
Raspberry Pi Pico - RP2040 SSM 보드 제작 Raspberry Pi Pico 보드에 적용된 RP2040 칩이 아주 저렴한 가격(1$)에 판매하고 있다. 어떻게 이 가격에 MCU를 공급 할 수 있지? 중국칩도 아니고 Raspberry Pi에서 이렇게 판매 한다니... MCU 시장도 장악 하겠다는 의지 인가? RaspberryPi Poco 보드가 시판 될 때만 해도 그냥 저렴한 MCU 만들어서 보드 대량으로 뿌리는 구나 생각 했는데... 아무튼 많은 생각을 하게 만드는 칩인것 같다. 그래서 가장 간단하게 표준 핀맵을 따르는 SSM-EVM 형태로 제작 해 보았다. 크기를 최대한 줄여서 필수 핀만 사용할 수 있도록 설계 했다. Cortex M0+ 코어 이긴 하지만 저렴함을 무기로 다양한 어플리케이션에 적용하면 좋을것 같다. Dual-core 32bit A..