본문 바로가기

728x90
반응형

전체 글

(263)
falling-edge, rising-edge Summary They mean both 'transition' and divided depending on direction of voltage 0 -> 1 : rising-edge 1 -> 0 : falling-edge Description "Falling-edge" and "rising-edge" are terms used in digital electronics to describe specific types of transitions in a digital signal. These transitions are important in various applications, such as triggering events, handling interrupts, and synchronizing digi..
Bluetooth: HID # Boot mode # Report mode HID (Human Interface Device Profile) - Bluetooth Classic, BLE 모두 사용 가능 - Bluetooth Classic에서부터 도입되었지만, BLE와 사용성이 잘 맞아서 HoG 라는 표현도 있음 (HID on GATT *GATT는 BLE에서만 사용되는 Profile) - 사람이 직접 input 입력에 사용하는 장치들에 쓰이는 Profile (마우스, 키보드, 게임 컨트롤러, 리모컨 등) Report mode & Boot mode Report mode - 데이터를 유연하게 형식을 정해서 전송 가능한 모드 - 유연성이 있으나 그만큼 속도 등에서는 조금 떨어질 수 있다. Boot mode - input 데이터를 매우 정형화하여 보내도록 강제 - 전송 데이터 타입을 강..
Bluetooth: GAP, GATT # BLE GAP (Generic Access Profile) - 블루투스의 연결과 관련된 주요 부분을 다룬다 - Central, Peripheral, Observer, Broadcaster / Discovery, Connectivity / Security GATT (Generic Attribute Profile) - BLE에서, 블루투스를 통해 전달되는 데이터를 다룬다. - BLE의 ATT(Attribute Protocol)를 기반으로 만들어준 Profile * Bluetooth Classic은 데이터 전송과 관련하여 여러가지 profile을 사용 - SPP (Serial Port Profile): serial data 전송 - A2DP (Audio Distribution Profile): 소리 전송 - HFP ..
Bluetooth: Protocol vs Profile Protocol A protocol in Bluetooth is a set of rules and procedures for managing data communication over the Bluetooth network. Protocols are concerned with aspects like data format, timing, sequencing, and error correction. They operate at the lower layers of the Bluetooth stack, handling the fundamental aspects of the Bluetooth communication. Common Bluetooth protocols include the L2CAP (Logical..
ESP32: NVS # Bluetooth # nvs_flash_init() In the esp 32 bluetooth, What is the NVS when doing nvs_flash_init()? In the context of the ESP32 and its Bluetooth capabilities, NVS stands for Non-Volatile Storage. When you call nvs_flash_init(), you're essentially initializing the NVS system on the ESP32. Non-Volatile Storage is a way to store data that needs to persist across reboots and power cycles; in other words, it doesn't get wiped wh..
ESP32 Bluetooth: Host & Protocol # Bluedroid, NimBLE # Bluetooth Classic, BLE https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/bluetooth.html ESP32 Bluetooth Controller - 하드웨어와 low-level 블루투스 프토토콜과 직접 상호작용(통신 등)하는 레이어 Hosts - 어떤 방식의 software architecture를 사용할 것인지 정할수 있는 레이어 - Bluedroid을 기반으로 만든 ESP-Bluedroid와 NimBLE을 기반으로 만든 ESP-NimBLE 존재 * Bluedroid와 Nimble은 호스트 스택을 구성하는 종류 * Bluetooth Classic과 BLE는 블루투스 Protocol의 종류 - Bluedroid 호스트 스택은 Bluetooth Cl..
ESP32: ESP-BLE-MESH # Bluetooth ESP-BLE-MESH - BLE-MESH 여러 기기들 간에, 허브를 통해서가 아닌 직접적인 ble 통신이 가능하도록 해준다. 이런 네트워크 기술을 MESH라 하고, ble를 활용한 MESH라서 BLE-MESH라 한다. (cf: WiFi-MESH) - ESP32는 BLE-MESH를, ESP32에 맞게 사용하도록 ESP-BLE-MESH를 제공 https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/esp-ble-mesh/ble-mesh-index.html
C: do {...} while(0) 사용 이유 # do {} while(0) # macro 매크로 # preprocessor 전처리기 The do { ... } while(0) structure is a common C macro idiom used to ensure that the macro behaves like a function or a statement block when used. This allows you to call the macro in your code without worrying about dangling else clauses that might otherwise misinterpret the end of the macro as the beginning of an else block. * 매크로 관용구 (매크로: 복수 명령어) * 매크로에 do ~ while (0)을 사용하면, 1. 매크로 안에 지역변수를 사..

728x90
반응형