반응형

개발/BLE 20

ESP32 While 문에서 리셋 걸리는 현상 해결 (Task watchdog got triggered. )

프로그램이 비 정상적으로 실행이 된다면 Monitor device를 실행시켜보시면 단번에 이러한 메시지가 출력이 될 경우가 있습니다.​난 워치독을 설정한게 없는데 왜 이 런 에러가 뜰까???​기본적으로 ESP32는 워치독을 내부에서 실행을 합니다. ​일반적으로 while 문에서 어떠한 작업을 처리 하게 될텐데요.반드시 워치독 리셋을 수행 해줘야 합니다.​ while (1) { // 메인 루프에서 추가적인 작업이 없으므로 대기 상태 // 워치독 리셋 esp_task_wdt_reset(); }그런데 위에서 처럼 달랑 저렇게 처리하면 하면 오류가 뜹니다. 워치독 리셋을 할게 없다고....엥? 뭔소리야...그래서 어찌되었건 워치독 리셋을 새로 초기화 해줘야 합니다..

개발/BLE 2025.02.06

ESP32 Monitor Device 사용하기

이거는 굳이 필요는 없을듯 하지만 실시간으로 어떠한 데이터를 모니터링 하기 위한 목적입니다.​소스 코드상에 원하는 부분에 printf 같은 명령어를 사용해서 출력을 모니터링 하는것입니다.​디버깅을 하는 방법에서 단순히 JTAG 대신에 UART를 선택해주시면 됩니다.​monitor device를 실행하면 아래처럼 터미널에서 정보를 볼수 있습니다.오른쪽 화면에 Monitor가 떴죠?그리고 터미널에 제가 뿌려놓은 데이터들이 출력되고 있습니다.​주로 사용하는 로그는 ESP에서 기본적으로 주어진 매크로를 사용하시면됩니다.​https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/log.html위의 링크에서 로그 매크로를 이용하..

개발/BLE 2025.02.06

ESP32 VScode에서 디버깅 하기

https://zadig.akeo.ie/​1. 준비물 위에 링크에서 Zadig 파일 다운.​2. ESP32 보드 준비, 저는 알리에서 구매한 ESP32-c3를 USB 에 연결했습니다.3. 프로그램을 실행하고, Options -> list All devices 를 선택합니다.4. 화살표를 아래로 클릭하면 여러 디바이스가 나오는데요, ESP32용 USB는 두가지입니다.​USB JTAG/serial debug unit (interface 0 / interface 2 ) 이 두개가 ESP32 에서 사용하는 디바이스입니다.​1) Interface 0 확인 사항.Interface 0 는 일반 USBuser로 잡혀 있어야 합니다. 아마도 초기값이 이거 일듯합니다.포트에 COM10으로 잡혀있네요. PC마다 다르지만 어..

개발/BLE 2025.02.06

BLE 란?

1. BLE란BLE는 BlueTooth Low Energy의 약어로서 블루투스 4.2버전부터 지원하기 시작했다.용도는 기존의 블루투스 BR/EDR에 비해 저전력으로 사용하는데 적합하도록 설계되었다.블루투스 스마트 레디 는, 듀얼모드라고도 불리우며 BR/EDR + BLE 를 의미한다.블루투스 스마트 는, 싱글모드라고도 불리우며 BLE 를 의미한다. 최근, BLE를 이용한 제품들이 많이 나오고 있다. 미아 방지를 위한 제품도 나와있고, 쇼핑센타에서 제품 광고에도 사용되고 있다(예 시럽) 또한 가정에서도 IoT에도 적용이 되고 있으며, 저전력이라는 장점으로 많은 곳에 활용이 되는 추세이다. 2. BLE 개발에 관하여BLE를 개발하기 위해서는 기본적으로 Protocol을 이해 해야 한다. 물론 BLE 칩 제조사..

개발/BLE 2016.07.07

CC2540 Timeout Terminate

Supervision Timeout으로 인하여 Link가 해제 되는 원인중의 하나로 supervision timeout의 설정을 잘못한 것일수도 있다. supervision timeout이란? Master와 Slave가 연결된 상태에서 아무런 데이터를 주고 받지 않는 상황이 설정된 시간이 다되도록 이루어 지고 있지 않다면 연결을 해제 하는 기능이다.따라서 아래 supervision timeout을 설정하는 공식을 반드시 준수해야 한다.또한 supervision timeout은 master/slave가 각각 개별적으로 설정하여 수행된다. Supervision Timeout은 (1 + slaveLatency) * (ConnInterval) 보다 무조건 커야 한다. 작을경우 문제가 발생한다. 자세한 내용은 아..

개발/BLE 2016.07.06
반응형