지난 포스트에서 좀 더 자세히 CubeMX에서 설정 부터 UART(USART) Printf - HAL & Polling을 설명해보도록 하겠습니다. 실제로 어플리케이션을 개발할 때 내부 동작 순서나 Debugging을 위해 자주 사용하는 printf() Log 출력하는 방법을 STM32G431RB Nucleo board를 사용해서 UART를 통해 구현해보겠습니다. CubeMX(혹은 CubeIDE)핀 설정은 아래와 같이 해줍니다. LPUART : PA2, PA3 BUTTON : PC13 STM32G4 Nucleo board에는 LPUART PA2,PA3을 통해서 UART VCP로 사용할 수 있습니다. 내부 회로도를 확인해 보면 PA2, PA3 핀은 ST-Link와 연결되어 최종적으로 PC에 Virtual C..
이번 포스트에서는 STM32 자체 ADC 에러들을 AN2834를 번역하여 살펴 보도록 하겠습니다. 몇몇의 Error 들은 어플리케이션이 안고 가야하며 몇몇의 Error들은 교정을 통해 정확도를 높일 수 있습니다. 아무튼 에러에 대해 알아야 나중에 당황하지 않고 개발을 할 수 있습니다. ADC errors 이 섹션에는 ADC 정확도에 영향을 미치는 주요 오류가 나열되어 있습니다. 설명된오류는 모든 ADC 발생하며 변환 품질은 오류 제거에 따라 달라집니다. 이러한 오류 값은 STM32 MCU 데이터시트의 ADC 특성 섹션에 표시되어 있습니다. STM32 ADC에는 다양한 정확도 오류 유형이 있습니다. 참조하기 쉽도록 정확도 오류는 1 LSB의 배수로 표시됩니다. 전압 단위의 분해능(Resolution..
C언어에서 아주 중요한 static의 활용을 알아 보도록 하겠습니다. 여러 사람이 함께 작업하는 프로젝트에서는 static을 적절히 사용해야 합니다. static 으로 선언만하고 사용하지 않는 함수나, 변수를 컴파일러에서 warning해주기 때문에 아주 유용합니다. 여러분들도 아시겠지만 컴파일러에서 error를 발생하면 타킷 보드에 프로그램을 로딩할 수가 없습니다. 그러나 warning이 발생하도라도 로딩이 가능하기 때문에 무시하는 경우가 많은데, 이는 런타임시에 에러를 발생 할 수 있으므로 warning도 반드시 없애주는 것이 좋습니다. static은 여러개의 파일내에 해당 파일내의 scope로 동일한 이름의 함수를 각 파일별로 만들 수 있게 해줍니다. 예를 들어 보겠습니다. 여러개의 .c 파일을 만들..
ST마이크로일렉트로닉스(STMicroelectronics, 이하 ST)가 전용 그래픽 가속기를 갖춘 새로운 STM32* 마이크로컨트롤러(MCU)를 출시해 비용에 민감한 소형 제품에서 더 강력한 사용자 경험을 제공한다. 초저전력 STM32U5F9/G9 및 STM32U5F7/G7 MCU는 3MB의 대용량 다이나믹 스토리지(SRAM)를 갖춰 그래픽 디스플레이용으로 여러 프레임 버퍼를 저장해 외부 메모리 IC 사용을 줄여준다. 또한 ST의 네오크롬VG(NeoChromVG) 그래픽 프로세서(GPU)가 내장돼 일반적으로 고비용 하이엔드 마이크로프로세서 기반 제품에서 지원되는 그래픽 효과를 처리한다. 네오크롬VG가 탑재된 이 MCU들은 하드웨어 가속 벡터 연산 기능을 지원하는 최초의 STM32 MCU로, SVG 및 ..
이번 포스팅에서는 AN4187(Using the CRC peripheral on STM32 microcontrollers)를 번역하여 STM32에서 제공하는 CRC에 대해 알아보도록 하겠습니다. 개요 CRC(cyclic redundancy check:순환 중복 검사 )는 데이터 신뢰성을 얻기 위해 강력하고 쉽게 구현된 기술입니다. 오류가 수정 기능은 없으며 데이터 전송 또는 저장 무결성 검사에서 오류를 감지하는 데 주로 사용됩니다. 진단 범위는 기본 안전 표준의 요구 사항을 충족하므로 IEC 60335-1 및 IEC 607030-1 표준("Class B" 요구 사항)을 준수하도록 인증된 ST 펌웨어에서 플래시 메모리 콘텐츠 무결성 자체 테스트 검사에 사용됩니다. 자세한 내용은 AN3307(Guid..
권장사항들 ESD/EOS protection devices for USB Type-C 전용 ESD 및 EOS 보호는 아래 처럼 사용할 수 있습니다. • VBUS 전원 공급 신호 • D+/D-, TX/RX 초고속 및 고속 신호 • CC 통신 채널 신호 • SBU 측 대역 사용 신호 참고: Alternate 모드가 지원되지 않는 경우 SBU가 열려 있을 수 있습니다. Alternate 모드가 지원되는 경우 4MΩ보다 우수한 저항을 추가하여 USB 안전 상태를 보장합니다. 자세한 내용은 섹션 1.2 및 www.st.com(Type-C 보호 검색)을 참조하십시오. 그림 17. Recommended protection devices TVS는 VBUS의 전압(5V보다 높을 수 있음)에 따라 선택해야 합니다. •..
Dedicated architecture proposals and solutions Sourcing power to VBUS 전력 공급 소스 역할을 하는 SRC 포트 및 DRP는 VBUS 라인에 전원을 공급합니다. 일반적으로 사용되는 전력 스테이지에는 DC/DC 컨버터, AC/DC 컨버터 및 SMPS가 포함되며 배터리가 있거나 없습니다. 전원 스위치는 출력(VOUT)을 VBUS 라인에 연결합니다. 범용 STM32 ADC, DAC, GPIO 및 I2C 주변 장치를 사용하면 다음 그림과 같이 유연하고 확장 가능한 전력 스테이지 제어가 가능합니다. 그림 34. Sourcing power to VBUS Signal description • ADC: VBUS 전압 및 전류 측정 • GPIO: 전원 스위치 제어..
무슨 이유에서인지 STM32 와 ST-Link 연결이 안 될 경우 꼭 확인해봐야할 사항에 대해 총정리 해보도록 하겠습니다. 본문은 계속해서 생각나는대로 업데이트 할 예정입니다. 흔히 보드가 새로 나오거나 개발환경이 달라질 때 ST-Link 디버거와 타겟(STM32)와 연결이 안되는 것을 종종 볼 수 있습니다. 이러한 여러가지 사례들을 알아보고 해결 방법을 모색해 보도록 하겠습니다. ST-Link PWR을 제외한 ST-Link들은 타겟 자체에 전원이 별도 공급되어야 합니다. 1. 타겟에 전원이 안들어 간 경우타겟(STM32) VDD, GND 핀들을 각각 확인 해 보고 정격 전원이 인가되었는지 반드시 확인해 보세요. 2. 타겟의 전원이 ST-Link 전원 Detect Pin에 연결이 안된 경우아래 이..