개발

65개의 글

[STM32F7] I2S(integrated interchip sound)의 구조

들어가기 앞서 이것은 STM32F7 DataSheet에 나온 문서를 기반으로 개인적으로 정리한 자료입니다. 만약, 오정보가 있다면 댓글로 알려주시면 감사하겠습니다. 그럼 STM32에서의 I2S 구조를 파악함에 앞서 I2S Protocol이란 무엇인지 간략하게 정리한 내용을 읽어 보시길 바랍니다. [통신 프로토콜] I2S(integrated interchip sound)쓰기에 앞서 이번에 처음으로 오디오 관련 제품을 개발하게 되어, i2S interface를 사용하게 되었습니다.한번도 사용하지 않은 기능인데 이제야 써보네요.그래서 공부하면서 제 블로그에 나름대로starlighton.com STM32F7에서의 I2S 구조 STM32 데이터시트를 보면 아래 그림과 같이 I2S에 대한 블록다이어그램이 나옵니다..

[통신 프로토콜] I2S(integrated interchip sound)

쓰기에 앞서 이번에 처음으로 오디오 관련 제품을 개발하게 되어, i2S interface를 사용하게 되었습니다.한번도 사용하지 않은 기능인데 이제야 써보네요.그래서 공부하면서 제 블로그에 나름대로 정리해보았습니다. I2S란 무엇인가. I2S(integrated interchip sound)는 마이크로 컨트롤러, 디지털 오디오 장치와 같은 사운드 처리 장치간에 고음질 PCM 오디오 데이터를 교환하기 위해 만들어진 동기식 직렬 통신 프로토콜입니다. 클록 신호를 활용하여 장치간의 데이터 전송을 동기화하는 방식이죠. 이 기술은 1986년 2월에 필립스(Philips)가 정의한 표준입니다. 그리고 현재는 필립스가 반도체 부분을 분리하게 되면서 분사한 NXP에서 이 인터페이스 사양을 유지,배포하고 있습니다. ..

[STM32] STM32H7B3I-DK를 사용하여 LVGL 예제 프로젝트 설정하기.

LVGL이란? LVGL은 무료 오픈 소스 그래픽 라이브러리로써 임베디드 시스템에서 사용자 인터페이스(UI)를 사용하고자 할때 사용하는 그래픽 라이브러리중 하나입니다. LVGL 공식 사이트에서 LVGL에 대한 설명을 구체적으로 볼 수 있습니다. https://lvgl.io/ LVGL - Light and Versatile Embedded Graphics Library LVGL is the most popular free and open source embedded graphics library targeting any MCU, MPU and display type to build beautiful UIs. It's boosted by a professional yet affordable drag and d..

개발/Windows2023.09.20

[C# winForm] 어플리케이션(실행 프로그램) 버전 값 가져오는 방법.

프로그램을 작성하다보면 소스코드애서 프로그램의 version 정보를 읽어들어야 할 때가 있습니다. 프로젝트 속성정보에 들어가서 [어셈블리 정보] 안에 있는 어셈블리 버전을 불러들여야 할 때가 있는거죠. 사실 .NET에서 기본으로 제공되는 클래스라 그냥 호출해서 쓰면 되긴 하지만.. 이것을 또 다시 클래스화 해서 간단하게 사용 할 수도 있습니다. 구체적인건 아래를 소스코드를 확인하시길 바랍니다. public class VersionInfo { //어플리케이션 버전을 가져온다. 즉 이것은 실행파일(.exe)의 버전 정보. public static Version GetAppVersion() { Version ver = null; try { ver = Assembly.GetEn..

개발/Windows2023.09.05

[c# Winform] 디렉토리의 경로를 다이얼로그로 불러오는 방법.

c# Winform에서 디렉토리의 경로를 다이얼로그로 불러오는 방법입니다. 아래 설명하는 기능을 사용하기 위해서는 별도의 패키지를 설치해야 합니다. 1. 우선 [도구] - [NuGet 패키지 관리자] - [솔루션용 Nuget 패키지 관리]를 클릭하여 창을 띄우고, 찾아보기에서 "WindowsAPICodePack" 을 검색합니다. 그리고 아래 사진과 같이 WindowsAPICodePack-Shell을 클릭하여 필요한 프로젝트에 설치합니다. 2. 설치를 했으면 설치한 프로젝트의 클래스에 아래 메소드를 씁니다. using Microsoft.WindowsAPICodePack.Dialogs;class example { public static CommonFileDialogResult DoSetFolderPa..

개발/Linux2022.12.05

Makefile 내부 매크로

CC = gcc TARGET = test OBJS = test1.o test2.o $(TARGET) : $(OBJS) $(CC) $^ -o $@​ CC, TARTGET, OBJS 는 사용자가 정한 매크로 대상 이름입니다. ​ 위 소스에서 $^는 의존파일인 $(OBJS)로 치환되며, $@는 타깃파일명인 $(TARGET)으로 치환됩니다. ​ 아래는 Makefile에서 자주 이용되는 내부 매크로입니다. ​ $@ 매크로로 만들어질 타깃 파일명. $^ 모든 의존 파일을 스페이스로 구분한 목록(중복 제외) $+ 모든 의존 파일을 스페이스로 구분한 목록(중복 포함) $? 타깃보다 새로운 의존 파일만 스페이스로 구분한 목록 $< 의존파일 중 첫번째 기술된 파일명(확장자 규칙에만 사용) $* 현재 타깃 파일명에서 확장자..

개발/ST Series2025. 5. 12.

[STM32F7] I2S(integrated interchip sound)의 구조

들어가기 앞서 이것은 STM32F7 DataSheet에 나온 문서를 기반으로 개인적으로 정리한 자료입니다. 만약, 오정보가 있다면 댓글로 알려주시면 감사하겠습니다. 그럼 STM32에서의 I2S 구조를 파악함에 앞서 I2S Protocol이란 무엇인지 간략하게 정리한 내용을 읽어 보시길 바랍니다. [통신 프로토콜] I2S(integrated interchip sound)쓰기에 앞서 이번에 처음으로 오디오 관련 제품을 개발하게 되어, i2S interface를 사용하게 되었습니다.한번도 사용하지 않은 기능인데 이제야 써보네요.그래서 공부하면서 제 블로그에 나름대로starlighton.com STM32F7에서의 I2S 구조 STM32 데이터시트를 보면 아래 그림과 같이 I2S에 대한 블록다이어그램이 나옵니다..

[통신 프로토콜] I2S(integrated interchip sound)

쓰기에 앞서 이번에 처음으로 오디오 관련 제품을 개발하게 되어, i2S interface를 사용하게 되었습니다.한번도 사용하지 않은 기능인데 이제야 써보네요.그래서 공부하면서 제 블로그에 나름대로 정리해보았습니다. I2S란 무엇인가. I2S(integrated interchip sound)는 마이크로 컨트롤러, 디지털 오디오 장치와 같은 사운드 처리 장치간에 고음질 PCM 오디오 데이터를 교환하기 위해 만들어진 동기식 직렬 통신 프로토콜입니다. 클록 신호를 활용하여 장치간의 데이터 전송을 동기화하는 방식이죠. 이 기술은 1986년 2월에 필립스(Philips)가 정의한 표준입니다. 그리고 현재는 필립스가 반도체 부분을 분리하게 되면서 분사한 NXP에서 이 인터페이스 사양을 유지,배포하고 있습니다. ..

개발/ST Series2023. 10. 18.

[STM32] STM32H7B3I-DK를 사용하여 LVGL 예제 프로젝트 설정하기.

LVGL이란? LVGL은 무료 오픈 소스 그래픽 라이브러리로써 임베디드 시스템에서 사용자 인터페이스(UI)를 사용하고자 할때 사용하는 그래픽 라이브러리중 하나입니다. LVGL 공식 사이트에서 LVGL에 대한 설명을 구체적으로 볼 수 있습니다. https://lvgl.io/ LVGL - Light and Versatile Embedded Graphics Library LVGL is the most popular free and open source embedded graphics library targeting any MCU, MPU and display type to build beautiful UIs. It's boosted by a professional yet affordable drag and d..

개발/Windows2023. 9. 20.

[C# winForm] 어플리케이션(실행 프로그램) 버전 값 가져오는 방법.

프로그램을 작성하다보면 소스코드애서 프로그램의 version 정보를 읽어들어야 할 때가 있습니다. 프로젝트 속성정보에 들어가서 [어셈블리 정보] 안에 있는 어셈블리 버전을 불러들여야 할 때가 있는거죠. 사실 .NET에서 기본으로 제공되는 클래스라 그냥 호출해서 쓰면 되긴 하지만.. 이것을 또 다시 클래스화 해서 간단하게 사용 할 수도 있습니다. 구체적인건 아래를 소스코드를 확인하시길 바랍니다. public class VersionInfo { //어플리케이션 버전을 가져온다. 즉 이것은 실행파일(.exe)의 버전 정보. public static Version GetAppVersion() { Version ver = null; try { ver = Assembly.GetEn..

개발/Windows2023. 9. 5.

[c# Winform] 디렉토리의 경로를 다이얼로그로 불러오는 방법.

c# Winform에서 디렉토리의 경로를 다이얼로그로 불러오는 방법입니다. 아래 설명하는 기능을 사용하기 위해서는 별도의 패키지를 설치해야 합니다. 1. 우선 [도구] - [NuGet 패키지 관리자] - [솔루션용 Nuget 패키지 관리]를 클릭하여 창을 띄우고, 찾아보기에서 "WindowsAPICodePack" 을 검색합니다. 그리고 아래 사진과 같이 WindowsAPICodePack-Shell을 클릭하여 필요한 프로젝트에 설치합니다. 2. 설치를 했으면 설치한 프로젝트의 클래스에 아래 메소드를 씁니다. using Microsoft.WindowsAPICodePack.Dialogs;class example { public static CommonFileDialogResult DoSetFolderPa..

개발/Linux2022. 12. 5.

Makefile 내부 매크로

CC = gcc TARGET = test OBJS = test1.o test2.o $(TARGET) : $(OBJS) $(CC) $^ -o $@​ CC, TARTGET, OBJS 는 사용자가 정한 매크로 대상 이름입니다. ​ 위 소스에서 $^는 의존파일인 $(OBJS)로 치환되며, $@는 타깃파일명인 $(TARGET)으로 치환됩니다. ​ 아래는 Makefile에서 자주 이용되는 내부 매크로입니다. ​ $@ 매크로로 만들어질 타깃 파일명. $^ 모든 의존 파일을 스페이스로 구분한 목록(중복 제외) $+ 모든 의존 파일을 스페이스로 구분한 목록(중복 포함) $? 타깃보다 새로운 의존 파일만 스페이스로 구분한 목록 $< 의존파일 중 첫번째 기술된 파일명(확장자 규칙에만 사용) $* 현재 타깃 파일명에서 확장자..

반응형