본문 바로가기

2018/12

(28)
STM32G031J 8핀 CortexM0+ 코어 MCU 보드 제작 STM32G0 시리즈 중 작은 사이즈를 찾아 보면 8핀 SOIC 타입의 STM32G031J 가 있다. 사이즈는 패키지에 따라 더 작은 것이 있지만 일단 핀이 적은 MCU는 ST에서 STM32G031J가 유일한것 같다. 8핀 MCU중 성은은 상당히 좋은것 같다. Cortex-M0+ 32 Kbytes of Flash memory 8 Kbytes RAM 64 MHz CPU 2x USART timers ADC 가격도 저렴하고 핀수가 적어서 간단한 프로젝트 진행시 사용하기 좋을것 같아 소형 모듈 보드로 제작해 보았다. 적은 핀수에 많은 기능을 포함하고 있어서 핀맵 설정이 중요한것 같다. 한가지 아쉬운 점은 JTAG가 GPIO와 동시에 사용할수 없다는 점이다. JTAG를 GPIO로 설정하면 그다음 JTAG로 접근이..
#SAMD21E-S EVM - 5 채널 Serial (UART) 테스트 #SAMD21E-S EVM - 5 채널 Serial (UART) 테스트 ATSAMD21은 하드웨어 적으로 4개의 시리얼 포트를 지원한다. USB를 이용하면 최대 5개의 UART를 사용할 수 있다. 저렴한 32핀 의 소형 페키지에서 5개의 시리얼 포트를 사용할 수 있다니... 상당히 매력적이다. 5개의 시리얼 포트를 테스트 해 보도록 하겠다. Serial1 TX1 - PA10 RX1 - PA11 Serial2 TX2 - PA14 RX2 - PA15 Serial3 TX3 - PA30 RX3 - PA31 Serial4 TX4 - PA16 RX4 - PA17 /*========================= *===== SERCOM DEFINITION *========================= */ ext..
#SAMD21E-S EVM - ATSAMD21 ADC, DAC 테스트(TFT LCD에 그래프 출력 하기) ATSAMD21 TFT LCD에 그래프 출력 하기#SAMD21E-S EVM - ATSAMD21 ADC, DAC 테스트(TFT LCD에 그래프 출력 하기) 기존에 제작 했던 TFT LCD 모듈에 그래프로 출력 해야 할 일이 있어 간단히 테스트 해 볼 보드로 SAMD21 보드를 사용 하려고 한다. 어떻게 하면 간단하게 테스트 해 볼 수 있을까? Arduino 환경에서 하면 간단히 테스트 해볼 수 있을것 같다. ADC 데이터는 전압값을 가변할 수 있는 VR을 이용해서 가변할 수 있는 확장 테스트 보드를 이용하였다. 확장 테스트 보드의 VR을 A3(PA3)에 연결하여 ADC값을 읽고 그값을 TFT LCD에 출력 하도록 했다. ATSAMD21 Arduino 테스트 소스코드 unsigned int gAdcValue..
#SAMD21E-S EVM - Arduino Zero 성능 테스트 ASMD21에 Arduino 를 올렸으니 간단히 성능 테스트를 해 봐야지... GPIO 토글 속도로 수행 속도를 측정해 보았다. 다른 MCU의 Arduino 코드에서 성능 테스트와 비교해 보면 클럭대비 나쁘지는 않은것 같다. 아두이노에서 제공하는 GPIO제어 함수(digitalWrite)로 GPIO 토글 하면 2.3us 정도 측정이 된다. #define PIN_OUT 27 #define Led1Off() PORT->Group[0].OUTCLR.reg = (1
#SAMD21E-S EVM - ATSAMD21E Arduino Zero Board 만들기 Arduino Code로 테스트 하면 이미 작성되어 있는 라이브러리가 많아서 간단하게 테스트 하기에 좋은것 같다. 그래서 SAMD21E EVM 보드에 아두이노 부트로더를 올려 보았다. #SAMD21E-S EVM 보드에 ATSAMD21 Arduino Bootloader 를 넣었더니 USB인식은 하는데 실제 Arduino IDE에서 구동하면 프로그램이 동작을 하지 않는다. ATSAMD21A 기준으로 작성된 bootloader라서 그런가... variant.cpp 파일을 수정 해 주어야 하나? ATSAMD21A 와 ATSAMD21E 용량 차이 때문에 그런것 같다. https://github.com/mattairtech/ArduinoCore-samd 에 SAMD21E를 이용하여 작성한 bootloader가 있다..
STM32H7 SPI - W5500 TCP/IP 전송속도 테스트 에러 문제 해결 STM32F7 evm 보드에서 테스트 했던 W5500 소스코드를 이용하여 STM32H7 보드에서 테스트 중인데 컴파일 에러가 발생한다. STM32F7 에서 W5500제어 테스트 에서 사용 했던 코드와 동일한데 왜 에러가 발생할까? #문제발생 에러코드 설명 자원 경로 위치 유형 expected identifier or '(' before numeric constant w5500.h /ex24_spi_w5500/Src 행 70 C/C++ Problem F7 코드에서는 문제가 없었는데... 에러를 찾아 가 보니 헤더파일의 선언 순서가 문제가 된다. 같은 컴파일러 인데 왜 문지가 되지? #문제해결 w5500.c #include "w5500.h" #include "config.h" #include "config...
#STM32G030 EVM - I2C 테스트 (TMP275 온도 센서의 온도 측정) #STM32G030 EVM - I2C 테스트 (TMP275 온도 센서의 온도 측정) STM32G-SSM EVM 보드는 표준 핀맵을 통일화 해서 다양한 확장보드에 공용으로 테스트 할 수 있도록 제작한 보드 이다. I2C도 핀 맵핑에 따라 동일한 위치에서 테스트 가능하다. SSM EVM표준 핀맵 SSM EVM 확장 테스트 보드 연결SSM EVM 표준 핀맵을 테스트 할수 있는 다양한 확장 테스트 보드를 이용해서 I2C 테스트를 진행 해 볼수 있다. 우선 I2C로 온도 값을 읽을 수 있는 TMP275 온도 센서 모듈을이용하여 SSM EVM 확장 테스트 보드에 연결하여 I2C를 테스트 해 보자. STM32CubeIDE를 이용하여 기본 핀맵 설정하고 I2C 셋팅을 한 후 코드 생성하면 자동으로 I2C 설정 코드가 ..
#STM32G030 EVM - UART 테스트 (STM32CubeIDE 에서 printf 사용하기) #STM32G030 EVM - UART 테스트 (STM32CubeIDE 에서 printf 사용하기) STM32g030F6에는 3채널의 UART포트가 있고 UART1(Tx-PB3, Rx-PB7) 포트가 보드상의 UART커넥터에 할당되어 있다. STM32CubeIDE에서 새로운 프로젝트를 생성하고 UART탭의 핀맵과 보레이트 등을 설정한다. STM32CubeIDE 로 코드 생성하면 자동 코드가 생성되고 기존 STM32 HAL코드와 동일하게 작성하면 UART 통신 테스트를 할 수 있다. int main(void){ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------..

반응형