BLE3 EFR32BG21 BLE SPP 개발 (3부 인터럽트, BLE) 또 한동안 다른 프로젝트를 하다 보니, 포스팅하는 것을 잊어버렸다. EFR32 GPIO 인터럽트는 조금 특이하다. 보통 EXT 인터럽트 1,2 번 해서 핀별로 인터럽트 핸들러를 지정하거나 하는데, 이번 칩은 핀번호 짝수, 홀수핀으로 인터럽트 핸들러는 지정한다. ?? AN0012: General Purpose Input Output (silabs.com) 내가 했던 프로젝트 제품은 인터럽트를 2개를 받는데, 둘 다 짝수 번이었다. 그래서 EVEN 인터럽트 핸들러로만 동작한다. (PC02, PC04...). 다행히 2개의 핀 이 동시다발적으로 실행되지 않아 문제가 되지 않았지만, 다른 시스템에서는 이점을 조심히 봐야 할 것이다. BLE를 이용하는 제품들 중 Nordic의 NUS 기능이 많이 사용되고 있다. .. 2023. 7. 3. [안드로이드]BLE SPP와 Bonding 블루투스 관련 제품을 개발하기는 하지만 아직도 블루투스 스택에 대해 많은 공부가 필요한 것 같다. GATT라던가 A2DP라던가 사용하면서도 누군가에게 설명해 줄 그런 지식이 없어 가끔 한심하기도 한다. 최근 개발하는 장비는 BLE 통신을 사용하며 SPP(Serial Port Profile)를 지원하지 않기에 이를 GATT로 구현한 SPP 에뮬레이터(?)를 사용한다. Nordic CPU가 이쪽으로는 선점을 하고 있으며, 최근에는 Ambiq Apollo 시리즈와 Silicon Labs의 EFR32 시리즈도 사용되는 추세이다. SPP를 검색해 보다가 Bluetooth 구 버전의 SPP와 BLE로 구현한 SPP의 차이에 대한 글을 발견했다. https://devzone.nordicsemi.com/f/nor.. 2022. 10. 14. Silicon Labs EFR32 BLE SPP 안드로이드 송수신 앱 개발 오랜만에 EFR32로 개발할 일이 생겼다. 그때는 무선 RF 통신만 했었는데, 이번엔 BLE SPP 통신을 기반으로 하는 개발 건 이었다. CPU 파트는 조금 다르지만 해봤던 제품이었고 BLE도 Apollo 칩으로 해 본 적이 있으니 어렵지 않을꺼라 했는데, 조금 헷갈렸던 부분이 있어서 정리할 겸 글을 쓴다. 1. 특성별 UUID 는 다 달라야 한가? BLE로 송수신을 하려면 UUID가 필요하다. 서비스 UUID와 characteristic UUID가 있으면 서비스 등록 및 통신이 가능한다. 보통 Write, Notification 2가지로 송수신을 하는데, 보통 다들 다들 다른 UUID를 사용한다. Nordic도 그랬고 Apollo도 그랬다. 당연히 EFR32도 그렇겠지 했는데... 요 2가.. 2022. 3. 13. 이전 1 다음