프로그래밍
-
Windows용 OpenXLSX 라이브러리 컴파일하기프로그래밍/윈도우즈 2021. 3. 20. 16:33
윈도우용 응용 프로그램을 개발하다 보면 결과물을 엑셀 파일로 저장하고 싶을 때가 있습니다. 엑셀 파일을 읽고 쓸 수 있는 몇몇 라이브러리들이 있지만 기능과 성능이 좋으면 상용이거나 오픈 라이선스를 채택하는 라이브러리들은 뭔가 부족하지요. 하지만 Github에 올라와 있는 OpenXLSX는 오픈 라이선스이면서 기능과 성능이 우수합니다. OpenXLSX은 소스 코드는 공개되어 있지만 컴파일하여 배포는 하지 않음으로 직접 컴파일해야만 합니다. Github의 OpenXLSX 페이지(링크)에서 빌드하는 방법을 설명해주고 있지만 뭔가 빈약해 보여서 정리해 보았습니다. 준비물 Microsoft Visual C++ 2019(링크) Git: MSVS 2019에 포함되어 있음 CMake: MSVS 2019에 포함되어 있음..
-
Windows에서 USB 시리얼 포트 자동 인식하기프로그래밍/윈도우즈 2013. 3. 13. 14:42
요즘은 MCU에도 USB 기능이 원칩화 되면서 점점 UART to RS232C로 사용하지 않고 UART to USB로 사용할 수 있습니다. 그러다보니 별도의 추가 비용없이 USB Serial 기능을 사용할 수 있게 되어 이제 많이들 USB로 디버깅 메시지들을 보고 계시지요. 그런데, Windows 어플리케이션에서 USB 시리얼을 연결하여 사용하다가 Windows 어플리케이션에서 연결을 끊지 않은 상태에서 USB 시리얼 케이블을 뽑았다가 다시 연결하거나 또는 타깃 보드가 리셋되면서 USB 연결이 끊어져 Windows 어플리케이션에서 연결을 끊고 다시 연결하려면 연결이 않되는 버그가 있습니다. 예를 들어 Windows에서 타깃 보드와 시리얼 통신을 하고 있다가 보드에 F/W 다운로드하고 리셋하면 다시 연결하..
-
리눅스 어플리케이션에서 GPIO 사용하기프로그래밍/리눅스 2013. 3. 13. 14:21
※ 이 글에 사용된 마이크로프로세서는 TI사의 Sitara AM1808을 사용하였습니다. 리눅스 개발을 처음 접했을 때 주변 기기를 제어할 줄 몰라 난감했던 기억이 있습니다. 그나마 SPI나 I2C 등을 이용하는 것은 /dev 디렉터리에 있는 노드들을 사용해서 제어하는 방법은 여기 저기 잘 정리되어 별문제 없었지만, GPIO는 따로 노드가 존재하지 않아서 간단한 조작조차 리눅스 디바이스 드라이버로 만들어서 제어했던 기억이 있습니다... 그래서 간단히(?) 리눅스 어플리케이션에서 GPIO를 사용하는 방법을 정리해 볼까 합니다. 먼저, 리눅스 커널 빌드 옵션을 설정합니다. Device Drivers ---> -*- GPIO Support [*] /sys/class/gpio/... (sysfs interfac..