본문 바로가기

임베디드 쌩초보 공부/STM3212

stm32. cube mx spi통신 MOSI MISO CS CLK spi transmit 할 때 spi 페리펄럴에 의해서 칩셀렉트핀을 컨트롤 할 수도 있고. 혹은 sw적으로 gpio핀 제어를 통해서 컨트롤 할 수도 있다. stm32에서는 하드웨어적인 칩셀렉트핀 설정을 NSS라 부른다. 2022. 1. 25.
STM32 pwm input측정하기 Tim (타이머)의 pwm input 모드를 사용한다. 원리는 이러하다. 1)타이머 내부의 카운트 레지스터가 지정된 클락속도로 1씩 증가하고 있다. 2)특정 이벤트 발생시 타이머의 카운트 값을 캡쳐하는 공간이 2개 있다 3)특정 이벤트를 rising edge 혹은 falling edge로 적절히 셋팅한다. 4) 캡쳐된 카운트 값 중 하나는 pwm period 다른 하나는 pwm duty 를 의미하게 된다. 이 때, 측정하려는 pwm 신호가 left aligned인지 right aligned인지 그리고 pwm polarity가 high인지 low인지(pwm duty 신호가 high인지 low인지) 에 따라서 앞의 3번에서 말한 이벤트 설정이 달라지게 된다. 5) 다음 그림을 통해 동작의 개요을 설명한다. 2022. 1. 11.
stm32. adc 채널 여러개 측정 ㅡ dma 인터럽트 2022. 1. 4.
STM32 Adc 개요 & Adc 채널 여러개 측정 2021.12.26 - [임베디드 쌩초보 공부/STM32] - STM32 ADC Conversion 위 글에서 Adc Channel 한개에 대해서 Polling 방식으로 conversion 하는 방법에 대해 알아보았다 근데 밑바탕이 되는 배경지식 이런거 하나도 없이 그냥 최대한 간단하게만 설명했었다. 이번에는 좀 더 배경지식에 대해 상세히 알아보고, 또 adc channel이 한개가 아니라 여러개의 channel을 컨버전 하는 것에 대해서도 알아보자. MCU마다 ADC Converter 갯수가 다르다. 일단 우리보드에는 ADC1 한개 밖에 없다. 이 ADC1에는 총 19개의 채널을 연결하여 사용할 수 있다. ADC1_In1, ADC1_In2 , .... ADC1_In15 이런식으로 명칭한다. 16개의 E.. 2021. 12. 27.
STM32 ADC Conversion 우리 보드 MCU에서 사용가능한 adc 채널은 16개 있는거 같은데, 보드에 우리가 자유롭게 활용가능하게 외부 커넥터에 연결된 핀은 위의 6개 뿐인것 같다. 이 글에서는 일단 A0핀을 사용하는것을 전제로 진행한다. PC5 에 해당되는 ADC채널은 "ADC1_IN14" 채널이다. 이것은 보드 데이터시트의 table13. B-L4S5I-IOT01A Discovery kit for the IoT node I/O assignment 를 보면 나온다. 아래 그림처럼 cubeMx에서 PC5번 핀의 용도를 ADC1_IN14로 지정해주자. 아래 그림처럼 ADC1 모듈의 채널14에 대해서 설정을 해주자. 일단은 single-ended로 고른다. 설정사항을 저장하고 code gen한다. codegen을 하면 이런저런 변화.. 2021. 12. 26.
Stm32 cube ide hal 을 이용한 uart tx 2021. 12. 17.
STM32 CubeIDE , HAL을 사용한 Uart/Usart 공부(2) Rx Polling ★ CubeIDE의 Code Gen 기능과 HAL 라이브러리를 사용하여 Uart 메세지를 Polling 형태로 받아보자 참고로 polling형태로 메세지를 받을 때는 cube툴에서 Uart Rx Interrupt를 Enable 할 필요가 없다. 하지만 Rx Interrupt를 enable 했다고해서 폴링형태로 메세지를 받는것을 못하는 것은 아니다. 메세지 수신시 IRQ를 호출하고싶으면 cube툴에서 Rx Interrupt enable이 필수 메세지 수신을 폴링형태로 할거라면 cube툴에서 Rx Interrupt enable해도 동작되고 안해도 동작됨 2021.12.12 - [임베디드 쌩초보 공부/STM32] - STM32 CubeIDE , HAL을 사용한 Uart/Usart 공부(1) Rx Interru.. 2021. 12. 15.
STM32 CubeIDE , HAL을 사용한 Uart/Usart 공부(1) Rx Interrupt ★ CubeIDE의 Code Gen 기능과 HAL 라이브러리를 사용하여 Uart 메세지를 인터럽트 형태로 받아보자 참고로 Usart의 s는 Synchronous 를 의미한다. 우리가 사용하는 MCU에서 UART 1,2,3은 Synchronous가 지원되는데 UART4는 지원 안되서 Async만 된다. 그래서 Cube에서 셋팅할때 보면 1,2,3은 USART 라고 적혀있는데 4는 UART라고 적혀있다. Sync, Async 에 대한 상세한 차이는 시간되면 공부해보자. 지금은 모르겠다. Cube IDE 로 GUI를 사용하여 Uart와 관련된 셋팅을 해주자. Cube 에서 사용할 핀에 대한 셋팅을 하면되는데 일단 우리 예시에서는 UART4 를 사용해보자. GUI 툴로 셋팅을 해준다. 1) 파라미터 셋팅 Bau.. 2021. 12. 12.
reserve3 3 2021. 12. 12.