태그: ADC

STM32F4 ADC LL 드라이버 코드 작성하기

STM32F4 ADC LL 드라이버 코드 작성하기

STM32F4 ADC LL 드라이버 설정 및 초기설정 포스팅 STM32F4 ADC LL 드라이버 초기설정하기 STM32F4 ADC LL 드라이버 코드 작성하기 자, 이제 코드를 작성해보자. 아니지. 코드를 작성하기 전에 레지스터부터 확인을 해봐야한다. 왜냐하면 LL 드라이버는 직접 레지스터를 제어하기 때문에 내부 구조를 파악해야하기 때문이다. 레퍼런스 메뉴얼 분석 레퍼런스 메뉴얼에는 위처럼 서술해 놨다. 레귤러 채널로 ADC를 사용한다면 먼저 ADC_CR2레지스터에…

STM32F4 ADC LL 드라이버 초기설정하기

STM32F4 ADC LL 드라이버 초기설정하기

STM32F4 ADC LL 드라이버 설정 및 초기설정 포스팅 STM32F4 ADC LL 드라이버 초기설정하기 STM32F4 ADC LL 드라이버 코드 작성하기 이번 포스팅부터 CUBEMX 신버젼으로 포스팅하게 됐다. ADC를 포스팅하되, HAL드라이버와는 달리 멀티, 단일 채널 구분 없이 초기설정은 동일하므로 Multi Channel로 구성한다. CUBEMX 프로젝트를 만들어보자. CTRL + N을 입력하면 된다. 사용하는 보드를 선택하고 더블클릭하자. 당연히 기초 설정을 사용할…

STM32F103 UART ADC 데이터 송신하기

STM32F103 UART ADC 데이터 송신하기

STM32F103 UART ADC 데이터 송신하기 예제 아마도 이전 글까지 읽으신 분들은 의문이 있으리라. UART로 데이터를 송신하는 것은 고정된(Static) 데이터이다보니까, 사용자가 알 수 없는 아날로그 데이터는 어떻게 송신할 것인지 궁금했을 것이다. 결국 이 의문을 해결하기 위해서는 어떠한 코드나, 설정을 추가해야한다는 결론에 이른다. 코드를 추가하는 것은 같겠지만, 사용하는 컴파일러에 따라 별도 설정이 필요한 경우가 있다. ADC를 사용하는…

STM32F103 ADC Multi Channel 코드 작성하기

STM32F103 ADC Multi Channel 코드 작성하기

STM32F103 ADC Multi Channel 코드를 작성하는 예제입니다. ADC Multi Channel CUBEMX로 초기설정하기 ADC Multi Channel 코드 작성하기 (현재 포스팅) CUBEMX로 ADC DMA 초기설정하기 ADC DMA 코드 작성하기 코드 작성하기 – 인터럽트 UART ADC 데이터 송신하기 코드를 생성했으니 본격적으로 코드를 작성해보자. ADC Polling 방식으로 코드를 작성하려면 아래처럼 작성하라고 레퍼런스 메뉴얼에 적혀있다. ADC를 사용하려면 HAL_ADC_Start HAL_ADC_PollForConversion HAL_ADC_GetValue…

Read More Read More

STM32F103 ADC Multi Channel CUBEMX 로 초기설정하기

STM32F103 ADC Multi Channel CUBEMX 로 초기설정하기

STM32F103 ADC Multi Channel CUBEMX 로 초기 설정 하는 포스팅입니다. STM32F103 ADC 편 ADC Multi Channel CUBEMX로 초기설정하기 (현재 포스팅) ADC Multi Channel 코드 작성하기 CUBEMX로 ADC DMA 초기설정하기 ADC DMA 코드 작성하기 코드 작성하기 – 인터럽트 UART ADC 데이터 송신하기 오늘은 Polling 방식으로 코딩하는 방법을 서술할 것이다. 그간 타 검색에서 나오는 자료들은 레퍼런스 메뉴얼에서…

CUBEMX로 STM32F303 ADC를 설정해보자

CUBEMX로 STM32F303 ADC를 설정해보자

위 포스팅에는 NUCLEO-STM32F303RE 개발보드를 사용했다. 먼저 CUBEMX를 실행해 F303RE 보드를 선택한다. 사용법은 링크에 설명해 두었다. <STM32F303RE 보드 초기설정화면> 위 화면에서 Peripherals – ADC1탭에 보면 IN1~IN8까지 있다. 옵션을 입맛에 맞게 설정한다.   설정에는 2가지 모드가 있다. 1)         Differential 2)      Single-ended Differential은 핀을 2개를 사용한다. 첫번째 핀에서 나온 신호의 값에 두번째 핀에서…

SAR과 SD(Sigma-Delta) ADC를 비교해보다.

SAR과 SD(Sigma-Delta) ADC를 비교해보다.

Sigma Delta컨버터(녹색)와 SAR(빨강)의 비교 요즘 이런저런 일이 많아 블로그 관리가 소홀하다. 오늘은 매우 짧은 포스팅을 할  생각이다. 연구실에서는 주로 생체신호를 측정한다. 따라서 고주파는 필요없는 경우가 많다. 보통 ECG와 같이 심박을 측정할 때 사용하는 칩에서 Sigma Delta 컨버터를 탑재하는 경우가 많다. Sigma Delta 컨버터의 원리가 복잡해  설명하기 매우 난해하지만 오버 샘플링으로 양자화 잡음을 최대한 줄이고 노이즈…

STM32F103 ADC 코드 작성하기 – 인터럽트편

STM32F103 ADC 코드 작성하기 – 인터럽트편

STM32F103 ADC 편 (STM32F1) ADC Multi Channel CUBEMX로 초기설정하기  ADC Multi Channel 코드 작성하기 CUBEMX로 ADC DMA 초기설정하기 ADC DMA 코드 작성하기 코드 작성하기 – 인터럽트(현재 포스팅) UART ADC 데이터 송신하기 지난번 포스팅에 이어서 작성한다. 이전에 언급했듯이, DMA를 시작하는 함수를 실행하면, 인터럽트 기능도 사용할 수 있다. 오늘은 그 콜백함수를 사용할 것이다. HAL_ADC_Start_DMA 코드는 인터럽트가 가능하다.…

STM32F103 ADC DMA 코드 작성하기

STM32F103 ADC DMA 코드 작성하기

STM32F103 ADC 편 ADC Multi Channel CUBEMX로 초기설정하기  ADC Multi Channel 코드 작성하기 CUBEMX로 ADC DMA 초기설정하기 ADC DMA 코드 작성하기 (현재 포스팅) 코드 작성하기 – 인터럽트 UART ADC 데이터 송신하기 일주일 만의 포스팅이다. 이전 포스팅에서 생성한 코드에서 ADC코드를 사용하는 방법이다. 이 포스팅에서는 퍼포먼스보다는 사용자 편의성과 코드의 간결함을 우선시 한다. ADC는 DMA(직접 메모리 접근)를 이용해 구성한다.…

STM32F103 ADC DMA CUBEMX 로 초기설정하기

STM32F103 ADC DMA CUBEMX 로 초기설정하기

STM32F103 ADC DMA CUBEMX 로 초기 설정 하는 포스팅입니다. STM32F103 ADC 편 ADC Multi Channel CUBEMX로 초기설정하기  ADC Multi Channel 코드 작성하기 CUBEMX로 ADC DMA 초기설정하기 (현재 포스팅) ADC DMA 코드 작성하기 코드 작성하기 – 인터럽트 UART ADC 데이터 송신하기 이번에는 ADC 초기 설정을 하고자 한다. CUBEMX 초기 모습이다. 사용할 보드를 선택한다. Pinout 왼쪽에 보면 ADC선택란이…