본문 바로가기

분류 전체보기

(2019)
[ESP32-C6 SSM] WiFi AP 모드 웹서버 테스트 ESP32는 AP(access point) 기능이 있고  스마트 폰, 노트북 등이 ESP32에 접속하여 기기를 제어 할 수 있다. 기존에 제작했던 프로젝트에서 ESP32의 AP 기능을 이용해서 핸드폰으로 원격지의 보드에 접속해서 간단한 설정이나 제어를 해야 하는 상황이 되었다.ESP32C6의 AP 모드를 테스트 해 보자. ESP32C6의 AP모드를 설정하고 AP가 검색되는 간단한 예제를 구동해 보자.#include #include const char *ssid = "ESP32-AP";const char *password = "123456789";#define LED_PIN 14#define Led1On() digitalWrite(LED_PIN, 0) #define Led..
[ESP32-C6 SSM] PIO(PlatformIO) 개발환경 설정 - Arduino Framework 설정하기 EPS32C6는 Arduino IDE환경에서는 지원이 되지만 PIO(PlatformIO) 환경에서는 espidf 만 지원하고 Arduino는 지원이 않는다. Arduino IDE는 다양한 라이브러리를 지원하지만 다양한 보드를 지원하기 위해 라이브러리가 복잡해지면 컴파일 속도가 너무 느려지는 단점이 있다. PIO(PlatformIO) 환경에서 ESP32C6를 컴파일 할 수 있는 환경을 구성해 보자.우선 VScode에서 PIO 프로젝트를 생성하고 platformio.ini 파일을 ESP32-C6에 맞도록 수정해 준다.   board 는 새로운 형태로 json 파일로 만들어 boards 폴더에 등록 해 주어야 한다.  이렇게 설정하고 컴파일 하면 ESP32C6로 정상적으로 컴파일 되는것을 확인 할 수 있다.디..
[ESP32-C6 SSM] WiFi 테스트 - SSD1306 OLED 에 IP출력하기 ESP32-C6를 이용하여 간단히 WiFi 를 테스트 해보자.가장 간단히 테스트 할 수 있는것이 무엇일까 고민하다 기존에 테스트 했던 코드 중에 WiFi AP에 접속하여 IP를 받아오고 할당 받은 IP를 OLED에 출력 하는 예제를 테스트 해 보았다.  기존의 코드를 이용해서 컴퍼일하고 다운로드 하니 정상동작 하지 않는다.간단히 기존 코드로 쉽게 테스트 해 보려고 했는데... Arduino IDE에서 몇번 수정하고 다운로드 하는데 시간이 너무 오래 걸린다. Arduino코드를 동일하게 사용고 컴파일 속도도 빠른 PIO(PlatformIO) 환경에서 테스트 해볼까?하지만 아직 PIO에서 공식적으로 지원하지 않는다. 그래서 먼저 PIO에서 ESP32C6를 테스트 할 수 있는 환경을 구축했다. 기존 테스트 했..
[ESP32-C6 SSM] Dhrystone, Whetstone, IIR Benchmark 성능 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다.각각의 특징은 아래와 같다.Dhrystone - 정수(ALU)연산성능 측정,  MIPS 수치로 표기Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기테스트 코드는   STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트 결과 부동소수점 연산이 많이 좋지 않은것 같다. ESP32-C3의 RISC-V 코어를 업그레이드 해서 제작 했다고 하는데 약간의 성능 개선은 있는것 같다. ESP32시리즈의 벤치마크 테스트 결과 비교 ESP32ESP32S3ESP32S2ESP32C3ESP32C6Dhr..
[ESP32-C6 SSM] Arduino 개발환경 설정 ESP32C6 개발환경을 설정하기 위해 가장 간단한 방법은 Arduino IDE를 이용하는 것이다.최신 ESP32 Board 설정파일로 업데이트 하면 ESP32C6 Dev Module 가 포함되어 있다.  ESP32C6의 Arduino variant 파일 설정은 아래와 같다.#include #include "soc/soc_caps.h"#define PIN_RGB_LED 8// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.inostatic const uint8_t LED_BUILTIN = SOC_GPIO_PIN_COUNT + PIN_RGB_LED;#define BUILTIN_LED LED_BUILTIN // backwar..
[ESP32-C6 SSM] ESP32-C6 테스트 보드 제작 ESP32-C6는  2.4 GHz Wi-Fi 6(802.11 b/g/n/ax), Bluetooth 5 (LE), Thread, Zigbee 를 포함하고 있다. RISC-V 코어로 저렴하면서도 다양한 RF스택을 지원하는 솔루션에 적합한 MCU인것 같다.ESP32-C3 도 처음 나왔을때 작고 저렴해서 매리트 있었는데 이번에 출시된 C6도 다양한 RF를 지원해 테스트 해두면 좋을것 같다. 표준 핀맵인 SSM Type EVM 형태로 제작해 보았다. ESP32-C3를 업그레이드 해서 WiFi 기능과 저전력 기능 더욱 강화 했다고 하는데 아래표와 같이 비교 해 볼 수 있다. [ESP32-C6 SSM] 회로 핀맵
[MSPM0G3107 SSM] PWM 테스트 - RC Servo Motor 제어 MSPM0G3107 PWM 테스트를 해 보자. 확장테스트 보드에는 RC Servo 모터를 연결 할수 있는 커넥터가 3채널이 있기 때문에 PWM을 이용해 서보 모터를 제어 할 수 있다.   서보 보터는 20ms 주기에 0.5ms ~ 2.5ms로 펄스폭을 제어 하면 된다.  TIMER-PWM을 추가 하고 PWM 출력 주기를 20ms(50hz) 로 설정하고 invert 설정으로 출력을 반전시켜 출력 할수 있도록 설정해 준다.  인터럽트 입력예제를 이용해 스위치 입력에 따라 서보 모터의 위치를 변경하는 예제를 작성할수 있다.#include "ti/driverlib/m0p/dl_interrupt.h"#include "ti_msp_dl_config.h"extern volatile uint32_t interruptV..
[MSPM0G3107 SSM] GPIO 인터럽트 - INPUT CAPTURE 테스트 테스트진행 중 디버깅을 위해 입력력 스위치를 많이 사용하는데 [MSPM0G3107 SSM] 보드에는 입력 스위치가 있고 이를 이용하여 외부 인터럽트 테스트를 진행 해 보자 [MSPM0G3107 SSM] 보드 부트옵션을 위한 스위치가 PA18에 연결되어 있다.  SYSCONFIG를 이용하여 입력 GPIO를 추가하고 인터럽트를 설정해 되면 된다.    인터럽트 핸들러는 GROUP1_IRQHandler() 함수를 재정의해서 처리 할 수 있다.void GROUP1_IRQHandler(void){ switch (DL_Interrupt_getPendingGroup(DL_INTERRUPT_GROUP_1)) { case GPIO_GRP_0_INT_IIDX: /* If SW is h..