본문 바로가기

분류 전체보기   ( 2394 )


VC++. 대화상자 윈도우 좌표 지정하기. 1. 대화상자 속성 중 "Absolute Align" True 설정해두고, 2. SetWindowPos 함수 호출하여 좌표지정. - 함수 호출예 : SetWindowPos(NULL, 100, 200, 0, 0, SWP_NOSIZE); // x좌표 100, y좌표 200 에 출력하라. - 이때 좌표란 주모니터의 좌상단 을 (0,0) 으로하는 화면 좌표 기준이며, 해당 좌표에 대화상자의 좌상단 꼭지점이 배치된다. - 함수 인자 중에 SWP_NOSIZE는 윈도우 크기는 변경하지 않는다는 설정이므로, 함수인자 중 width와 height 는 0으로 해도 됨. 3. 대화상자 실행초기 위치 지정하려면 OnInitDialog 내에서 SetWindowPos 함수 호출. 대화상자 실행이후 SetWindowPos 호출해도.. 2016. 4. 20.
VC++. 다중 모니터 , 화면 좌표 기준 . GetWindowRect 다중모니터의 좌표기준. 모니터 1개인 경우, 윈도우 영역 구하는 함수인 GetWindowRect 함수로 반환받는 CRect 는 좌상단 꼭지점을 (0,0) 으로 오른쪽 방향 +, 아래 방향 + 로 되어있다. 음수값은 없음. 모니터 2개 이상인 경우, "주 모니터"의 좌상단을 좌표원점으로 하고 주 모니터 왼쪽방향 -, 주 모니터 윗쪽 방향 - 로 된다. 예로 6개의 모니터가 있고, 주 모니터가 아래처럼 설정되어있다면, 주모니터의 좌상단이 좌표원점 (0,0). 위와 같은 모니터 배치 상황에서 프로그램 윈도우의 영역정보를 받는 함수 GetWindowRect 실행 CRect 값 확인 해보기. GetWindowRect 코드. Colored By Color Scripter™123456 // 본 윈도우의 rect 받기.. 2016. 4. 20.
VC++. 주 모니터 화면 픽셀수.바탕화면 작업영역, 작업표시줄 사이즈 구하기. 코드. Colored By Color Scripter™1234567891011121314151617181920212223242526 // 주모니터의 가로 세로 픽셀수. int screen_x = GetSystemMetrics(SM_CXSCREEN); int screen_y = GetSystemMetrics(SM_CYSCREEN); // 주모니터의 작업표시줄 제외한 영역 rect CRect rect_workarea; ::SystemParametersInfo(SPI_GETWORKAREA, 0, &rect_workarea, 0); // 작업표시줄 영역 구하기, 윈도우타이틀 Shell_TrayWnd임. HWND hWnd_TrayWnd = ::FindWindow(_T("Shell_TrayWnd"), NULL); .. 2016. 4. 20.
VC++. 프로젝트 리소스에 비트맵 추가. 프로젝트 리소스 뷰에서 우마우스 클릭하여 "리소스 추가" 창에서 Bitmap 선택하고 버튼 새로만들기 클릭(아래그림). 생성된 비트맵의 아이디 설정하고(코드내에서 참조할때 필요한것), 비트맵의 속성에서 색상수, 사이즈 지정. 용도에 맞게 정하면 됨. 아래 예는 색상 256칼라. 사이즈는 높이 16, 폭 64로 한 것. 그림 그리기. 위 비트맵 편집기에서 픽셀단위로 그려서 이미지를 만들어도 되나, 고품질 이미지를 원할 때는 이미 제작된 이미지를 복사해오면 된다. 예. 그림판에서 이미지를 열고 복사해서 VC++ 비트맵 편집툴로 붙여넣기 하면 된다(아래 예 . 칼라 24비트로 했다.) 연관정보. Picture Control 에 Bitmap 표현하기 : http://igotit.tistory.com/1106 /.. 2016. 4. 19.
MFC. CFileFind - 파일 찾기 나열 하기. CFileFind MFC CFileFind 클래스 멤버함수 이용하면, 파일 찾기, 파일이름, 파일확장자, 파일경로 정보 처리 간단하게 구현된다. 폴더 핸들링도 가능. class CFileFind : public CObject Members Public Constructors Name Description CFileFind::CFileFind Constructs a CFileFind object. Public Methods Name Description CFileFind::Close Closes the search request. CFileFind::FindFile Searches a directory for a specified file name. CFileFind::FindNextFile Continu.. 2016. 4. 17.
keil compiler. __attribute__((at(address))) variable attribute. 주로 내부플래시 영역에 변수 할당하기 위함. __attribute__((at(address))) 저장 주소 지정가능한 변수 선언 구문. - 주로 내부플래시 영역을 변수의 저장공간으로 지정할 때 사용되는 편리한 구문. 사용예. int myV1 __attribute__((at(0x10000))) = 10; // myV1 을 주소 0x10000 에 할당하고 초기화 10을 한것. int myV2[5] __attribute__((at(0x10000))) = {0,1,2,3,4}; // 배열 사이즈 5인 myV2 를 0x10000 에 할당하고 초기화 한것. keil 제공 설명 사이트 : http://www.keil.com/support/man/docs/armcc/armcc_chr1359124981140.htm 주의사항 : GCC - GCC 에서는 Keil 에.. 2016. 4. 14.
STM32. USB HID 구현. STM32Cube + Keil 기반. 주소: https://www.youtube.com/watch?v=KwRQxGUrbN0&nohtml5=False STM32Cube + EWARM 기반. 주소: https://www.youtube.com/watch?v=xufZyQf4O7Y 2023.07.15 추가. 위 영상에서 STM32 에서 USB 호스트로 데이터 송신하는 부분 상세 -영상 : 3:46 에 보면 함수 USBD_CUSTOM_HID_SendReport 호출하여 데이터 송신함. 연관 상위 정리 http://igotit.tistory.com/244 의 STM32 STM32. nRF52. ESP32. EFM8. EFM32. PSoC 활용 정리. STM32. nRF52. ESP32. EFM8. EFM32. PSo.. 2016. 4. 14.
STM32. DfuSe Demo 사용법. 개요 STM32 의 USB DFU 유틸리티 DfuSe 에서 제공되는 DfuSe Demo 프로그램 사용법 정리. DfuSe V3.0.4 기준. 사전지식. 1. DfuSe 개요및 설치. http://igotit.tistory.com/464 DfuSe Demo 사용법. DfuSe Demo 프로그램 실행. DfuSe 3.0.4 설치하면 시작 프로그램에 등록된 것 중 DfuSeDemo 클릭하여 실행. DfuSe Demo 실행화면. - 프로그램 실행 첫화면 , 아래 파박에는 STM32칩의 DFU 모드일때만 자동으로 보인다. 관련 : STM32 가 DFU 모드상태에서 PC에서 USB 인식 상태 -> http://igotit.tistory.com/645 Upload Action 사용법. 기능 : upload 란 타겟칩.. 2016. 4. 12.
STM32. DfuSe 3.0.4 Bug 해결된 DfuFileMgr.exe, STDFUFiles.dll DfuSe 3.0.4 의 "DFU file manager" 버그 해결. DfuSe 3.0.4 의 DFU file manager는 2개의 버그가 있으며, 오류있는 코드 수정하여 정상화된 실행파일 만들었음. - 제조사 STM에서 버그 있는 상태에서 1년이 지나도록 정상화된 버전을 배포 하질 않아서, 직접 코드 수정함. - 개발툴 : Visual C++ 2015. 타겟플랫폼 : x86 (32bit). 32비트 응용프로그램은 32비트/64비트 환경에서 모두 정상실행됨. 해결된 버그. 1. hex file 열지 못하는 문제 해결되었음. 2. dfu 파일 저장시 사용자가 지정한 폴더에 정상적으로 저장되게 하였음. 상기 2개 문제외에도 DfuSe 유틸리티 들이 정상작동하지 못하는 심각한 오류들이 많은데 위 2개의 버.. 2016. 4. 12.
VC++ 2015. Windows XP Support for C++ 설치하기. 개요 Visual C++ 2015 에서 신규 프로젝트 생성시에는 Windows XP 지원 코드 생성할 일 없기에 설치하지 않아도 되나, 과거버전에서 만들어진 프로젝트가 종속성을 갖고 있는 경우 "Windows XP Support C++" 설치 해야한다. 상황 예. VC++ 2015 에서 프로젝트 열려고 하면 아래처럼 솔루션 탐색기에서 사용할 수 없음 표시되고 있고 우마우스 클릭하면 "누락된 기능 설치" 를 실행할 수 있게 메뉴가 활성화 되어있다. "누락된 기능 설치" 클릭하면 어떤 것에 종속성 있는지 보여주는데 "Windows XP support C++" 가 있어야 함을 보여주고 있다. 구체적으로 현재 열려고 하는 프로젝트에서 Windows 7.1 SDK 를 사용하고 있음을 보여주고 있다. 위 창에서 버.. 2016. 4. 12.
Visual C++ 2010 재배포 가능 패키지 설치하기. Visual C++ 2010 으로 만들어진 응용프로그램이 PC에서 정상 실행되기 위해서는 해당 컴퓨터에 아래 2개가 설치되어 있어야 한다. 응용프로그램의 비트에 따라 2개가 배포되나 용량도 얼마 안되므로 2개 모두 설치하면 됨. 설치 소요시간 : 10초 이내. 1. 32bit 응용프로그램 실행용 Visual C++ 2010 재배포 가능 패키지 설치 파일 MS사에서 직접 다운로드 받으려면 여기 -> https://www.microsoft.com/ko-kr/download/details.aspx?id=5555 2. 64bit 응용프로그램 실행용 Visual C++ 2010 재배포가능 패키지 설치파일. MS사에서 직접 다운로드 받으려면 여기 -> https://www.microsoft.com/ko-kr/dow.. 2016. 4. 4.
USB HID 라이브러리. hid.lib, hidsdi.h, hidpi.h, hidusage.h USB HID 라이브러리 hid.lib 관련 파일. 프로그램에서 USB HID 기기에 접근하기 위하여, MS사 제공 hid.lib 를 이용하는 경우 관련 4개의 파일(아래 리스트) 필수이며 개발중 프로젝트에 포함시켜야 한다. 1. hid.lib2. hidsdi.h 3. hidpi.h4. hidusage.h 상기 4개 파일 확보방법. MS사의 WDK (Windows Driver Kit ) 의 일부로써 배포되고 있다. WDK10 설치 -> http://igotit.tistory.com/727 WDK 설치하면 생성되는 폴더 C:\Program Files (x86)\Windows Kits 내에 있음. 파일 hid.lib WDK설치경로에 hid.lib 파일이 여러 폴더에 분산되어 있다.즉, 아래와 같은 경로에 h.. 2016. 4. 4.
WDK 10 (Windows Driver Kit 10 ) 설치. WDK 10 설치. Windows Driver Kit 10 설치. WDK 개요및 개발용 리소스 페이지 : https://msdn.microsoft.com/en-us/library/windows/hardware/ff557573(v=vs.85).aspx 설치파일 다운로드주소 : https://msdn.microsoft.com/ko-kr/windows/hardware/hh852365.aspx 상기 주소에서 아래 그림의 붉박 버튼 클릭하여 바로 실행하면 된다. 설치 대화상자에서 라이센스 동의등 진행시키면 설치 진행된다. 약 10분소요됨. 설치완료한후 Visual Studio 에서 새프로젝트 만들기 실행해보면, 아래 붉박처럼 Windows Driver 형식의 프로젝트 생성가능한 상태가 된다. 본 글이 포함된 상위.. 2016. 4. 3.
STM32. SPI DMA 사용법. 개요 STM32 (STM32L4x6) 에서 SPI 활용시 DMA 기반으로 통신처리하는 방법. 전체 구현흐름. 1. STM32CubeMX 의 SPI 설정에서 DMA 사용가능하게 설정. 2. 상기1에서 프로젝트 생성하여 (본 예에서는 KEIL MDK-ARM 용 프로젝트 생성함.) 3. 상기 2의 펌웨어 코드에서 SPI DMA 읽기/쓰기 처리 코드 추가. 상세 STM32CubeMX 에서 SPI DMA 설정. SPI 설정창의 탭 "DMA Settings" 에서 RX 용 TX 용 2개모두 등록한다. - 2개 모두 등록함이 중요하다. 실제 코드에서 TX는 사용하지 않고 RX만 사용하는 경우에도 설정에서 2개 모두 등록해야 RX 만 사용하는 경우에도 정상 작동한다. 위와 같이 DMA를 선택하게 되면 DMA1 Chan.. 2016. 3. 29.
STM32. L4x6 SPI 개요. 개요. STM32L4x6 계열 MCU SPI 주요특징. STM32L4x6 의 SPI Block Diagram. - FIFO 내장 : RxFIFO, TxFIFO 각각 32비트(4바이트) 용량. DMA 가능.- data size : 4bit ~ 16bit 선택가능. - SPI Motorola 모드(통상사용하는것), TI 모드 선택 가능. - Hardware CRC 선택가능 ; Tx mode에서 마지막 바이트에 CRC값 기록, 수신시 자동 CRC체크 가능.- 그외 일반 SPI 특성과 동일. from : pdf. STM32L4x6 Reference Manual 페이지 1283 부터. 상세 - SPI 데이터 송수신 RxFIFO, TxFIFO 1. 모든 SPI data 는 내장된 FIFO 를 경유 하게 되어있다. .. 2016. 3. 23.
STM32. 리셋핀 NRST 풀업저항. 개요 STM32 리셋 핀 NRST 특성과 핀 제어 방법. STM32L, STM32F 의 경우, 아래와 같이 소자 내부에 풀업저항 (40k옴) 고정적으로 연결된 상태이다. 1. 설계하는 회로에서 STM32 리셋 하지 않는 경우엔 NRST 핀에 외부 풀업저항 달 필요없고, 개방 시켜둬도 됨. 2. 소자외부에서 별도 스위치를 이용하여 리셋하려는 경우엔 위 회로처럼 처리. 3. 타 MCU의 핀 출력을 이용하여 STM32 를 리셋하려는 경우는 타 MCU 측의 핀 상태를 open-drain 으로 한다. STM32의 NRST 핀에 인가되는 전압에 따른 STM32측의 로직 H, L 기준전압. Low : 0.3 x Vddio 보다 작은 전압이 인가된 경우. High : 0.7 x Vddio 보다 큰 전압이 인가된 경우... 2016. 3. 17.
앱손. 스마트 글래스 모베리오 BT-200 해상도 : 960 x 540 듀얼화면, 가격 70만원대. 제조사 제품 사이트 : http://www.epson.co.kr/Product/SmartGlass_Content.ekl ///719. 2016. 3. 17.
__toascii. 문자의 아스키코드 받기. 프로그램에서 특정 문자에 해당하는 아스키코드 값 받는 편한 함수. 코드 예. Colored By Color Scripter™ 1 2 3 4 5 6 7 8 9 CString cst = _T("ABCDEFGH"); wchar_t * my_wchar = cst.GetBuffer() ; cst.ReleaseBuffer(); uint8_t ascii_code[8]; for(int idx = 0; idx http://igotit.tistory.com/11 ///717. 2016. 3. 16.


 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5