STM328 [PWM] preload register Preload registerPWM에서 ARR를 컨트롤 할때, ARR 변경 시 , 변경 시 결정하는 레지스터 1. enable일 때- ARR 값이 변경 시 즉시 변경되지 않음. preload register에 저장 -> 카운터 overflow 발생시 ARR 값 업데이트 2. disable일 때- ARR 값 변경 시 , 즉시 변경 preload 레지스터 disable 시 문제 발생 상황 ARR 변경 시 , 카운터 > 변경 ARR 값 현상 발생 시그러나 ARM에서 카운터는 ARR값과 같아질 때 overflow가 발생하도록 디자인돼있기 때문에 이런 경우에는overflow가 발생하지 않는다. 기존 ARR 값 적용 후 다음 주기부터 설정한 ARR 값 적용예시) ARR이 1000이고 내가 500으로 조정했는데 .. 2024. 12. 27. STM32 스타트업 코드 분석 g이번 시간에는 STM32 스타트업 코드에 대해 "개인적으로" 간략하게 분석하고 정리하고자 한다. 스타트업(startup) 코드 정의 STM32 MCU같 임베디드 시스템 환경에서어플리케이션 코드(main 함수)를 진입 전 MCU 초기화및 어플리케이션 코드를 실행 할 준비하는 코드 일반적으로 확장자 *.s 파일을 말한다. 중요 개념핸들러(Handler) 특정 이벤트(인터럽트나 예외 상황) 발생 시, 자동으로 호출되도록 시스템에 등록한 특수한 함수 CPU 코어가 이 이름을 보고 핸들러를 호출한다. 아래는 stm32cubeide Tool에서 stm32f411 nucleo board로 실행한 후 생성된 스타트업 파일이다. 순차적으로 해당 내용에 대해 정리하려고 한다.기본적으로 어셈블리어로 구성되어 있다. 자.. 2024. 12. 26. [HAL Driver] 내부 플래시 메모리 읽고 쓰기 Nucleo STM32f411re 보드 내부 플래시 메모리 지우고 쓰고 읽기 포스팅을 정리하고자 한다.STM32 CHIP 플래시 메모리 구조 Main memory : 주요 플래시 메모리 공간으로 사용된다.System memory : CPU가 부팅할 때 사용하는 메모리 공간으로 Boot mode에 따라 사용 유무가 결정되는 공간으로 Main memory에 펌웨어 다운로드, Boot mode 중 펌웨어 업데이트, UART1을 통해 Flash loader 툴 사용이 가능함OTP(One Time Programmable) 공간 : 한번 쓸 수 있는 사용자 메모리 공간으로 사용(mac주소 등)Option bytes : Watchdog 설정, Read/Write 보호와 같은 시스템관련 설정을 담당하는 저장소필독1.쓰.. 2024. 12. 18. Timer[4] Input capture ※ 해당 글은 개인 공부 기록을 남겨놓는 것이 목적임으로 오류가 발생할수 있습니다. 오류 또는 업데이트된 사항이 있다면 댓글로 알려주시면 감사하겠습니다.STM32 input captureMCU의 펄스 및 주어진 입력 신호의 주파수 및 펄스 폭등을 측정하고자 할 때 사용 CC1S 비트가 모두 0이면 output compare 기능이 동작(NOR gate)CC1S 비트가 하나라도 1 이면 Input capture 기능이 동작(OR gate)기본 타이머 설정1. 우선 CNT의 값을 결정하기 위해서는 우선 PSC(프리스케일)값을 정하고2. ARR(Auto-reload register)값으로 CNT의 증가 속도를 정해 줍니다. 여기까지는 기본 타이머 내용입니다.3. capture 모드로 사용할지 com.. 2024. 7. 14. 이전 1 2 다음