본문 바로가기

개발

mfc thread 만들기 - vs 2010, sample source mfc 에서 멀티타스크를 하기 위해서는 OnTimer 를 쓰기도 하지만,스레드를 쓰기도 한다. 방법.1. 해더에 변수 추가2. 스래드 시작 함수 부르기3. 스레드 시작 함수4. 실행될 스레드 함수5. 스레드 잠시 멈춤 함수6. 스레드 끝내기 함수 스레드 잠시 멈춤 함수부르기와 끝내기 함수 부르기는  따로 만들어 주셔야 합니다.여기서는 귀찮아서 그냥 만들고 10 초뒤 잠시 멈추고 10초뒤 재시작, 10초뒤 끝으로 하였읍니다. 코드는 VIsual Studio 2010 으로 하였읍니다.  =======================================1. 해더에 변수 추가아래 Dialog 이름 DLG_Main 은 다른것으로 바꾸어도 됩니다.// CDlg_Main dialogclass CDlg_Main .. 더보기
mfc AfxMessageBox() 로, 문자, 숫자 표시 하기, sample source ==========================================void msgChar( char *m){  CString cm;//  cm.Format(_T("%s"),m);  cm =  (LPCSTR)(LPSTR)m;   AfxMessageBox(cm);}void msgNum( int m){  CString cm;  cm.Format(_T("%d"),m);   AfxMessageBox(cm);}==========================================void test_mBox(){  msgChar("HaHaHa");   msgNum(-16);}========================================== 더보기
mfc vs2010 ini 파일 읽기 쓰기 간단 보기, sample source 소스 올리니 참고 하셔요....sample ini 파일도 같이 올립니다.//////////////////////////////////////////////////#include "stdafx.h"/*DWORD GetPrivateProfileString(  LPCTSTR lpAppName,  // 섹션 (Section) 이름  LPCTSTR lpKeyName,  // 키 이름  LPCTSTR lpDefault,  // 키 기본 설정값. 만약 lpKeyName 이름이 들어간 키가 파일 내에 없다면 이 값을 lpReturnedString에 넣게 되어있음(아무것도 없다면 NULL로 설정됨)  LPTSTR  lpReturnedString,  // 키 값을 받을 버퍼 포인터  DWORD   nSize,    // .. 더보기
mfc log 파일 만들기 저장하기 - vs2010, sample source 뭐... 설명은.. 소스에 있는 코멘트로.. VS 2010 으로 했읍니다. =====================#include "stdafx.h"static FILE* fP;   //파일 포인터 추가void CStr2Char(CString f, char *t){   // CString 을 char * 로 바꾸기  CStringA p2(f);  const char * p3=p2;  strcpy(t, (char *) p3);}void makePath(CString & s) {  // 경로 만들고, 파일명 만들기(파일을 실제 만들지는 않고 이름만 리턴)  TCHAR path[_MAX_PATH];  GetModuleFileName(NULL, path, sizeof(path));  // 실행파일 경로 ?어 오기.. 더보기
Nuvoton M483 i2c + RV3028 (RTC) IRQ , 고정밀 RTC 비교, sample source 먼저 고정밀 RTC 비교1.  RV3028 : 1 ppm5000원/개 2.  DS3231 :  5 PPM (1일 ±0.432초)♦Accuracy ±2ppm from 0°C to +40°C♦Accuracy ±3.5ppm from -40°C to +85°C아두이노15000원/개  3. DS1307 , DS1308better than ±2 minute/month at 25°C7500 원/개 4. PCF2131accuracy ±3 ppm from -40 °C to +85 °C5000원/개 1ppm= 100만초에 1초 틀림= 10일에 1초 도 안틀림 = 한달에 3초도 안틀림= 1년 32초 틀림 -------------------nuvoton에서 제공하는 i2c.c 를 이용 하였는데,  irq 를 이용 하는 방법 .. 더보기
Nuvoton M483 i2c + TLC59116 (Led Drv) IRQ MultyByte RW방식, sample source nuvoton에서 제공하는 i2c.c 를 이용 하였는데,  irq 를 이용 하는 방법 만들어 추가 함. -- 즉 irq 이용 안하던거과 irq 이용하는거 합본임.  뭐 사실 HDC1080 (온도 습도 센서) 도 I2c 로 이용 하는거 같이 들어 있음 1. Version.h 에서 #define _I2C_MODE     1    //   0: Use i2c.c.  1: Use IRQ,  2:Use MyI2c.c 라 되어 있는데 _I2C_MODE  를1로 설정 하면,  irq 를 사용 하여 multibyte rw 를 하는 code 를 넣었고,0으로 하면, nuvoton 에서 제공하는 i2c.c 에 있는 multibyte rw 함수를 이용 한다. 2. i2c 포트는    i2c1 - pb1 pin6 scl , .. 더보기
Nuvoton printf debug uart 변경 nuvoton 에서 printf 를 하면 보통 uart0 로 나온다. 이를 uart1 이나 다른거로 바꾸고 싶으면. 문자열 "debug" 를 찾든 DEBUG_PORT" 를 찾든 하면 보통 "retarget.c" 안에 #define DEBUG_PORT UART0 라 되어 있다 여기 UART0 를 UART1 로 바꾸든 하면 된다. 더보기
Nuvoton M483 i2c+hdc1080 (온도 습도 센서) IRQ MultyByte RW방식, sample source 이전에 nuvoton에서 제공하는 i2c.c 를 이용 하였는데,  irq 를 이용 하는 방법 만들어 추가 함. -- 즉 irq 이용 안하던 이전거과 irq 이용하는거 합본임.- 혹시 irq 잘 모르겠으면 이전거 이용 하든 본 버전에서 irq 안쓰는거로 이용 하면 됨 1. Version.h 에서 #define _I2C_MODE     1    //   0: Use i2c.c.  1: Use IRQ,  2:Use MyI2c.c 라 되어 있는데 _I2C_MODE  를1로 설정 하면,  irq 를 사용 하여 multibyte rw 를 하는 code 를 넣었고,0으로 하면, nuvoton 에서 제공하는 i2c.c 에 있는 multibyte rw 함수를 이용 한다. 2. i2c 포트는    i2c1 - pb1 pi.. 더보기