728x90
반응형
ARM
---------------------------------------------------------------------------------------------------
API
문자열 리소스
: 윈도우즈에서 문자열도 일종의 리소스로 취급.
리소스에 문자열을 정의해 두고 필요시 읽어와 사용할 수 있음.
장점 - 문자열을 코드와 분리해 따로 관리 가능.
insert-> resource -> String Table
--> Caption에 문자열 입력. ID 설정
LRESULT OnPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
TCHAR str[256]; //문자열 저장 버퍼
hdc = BeginPaint(hWnd, &ps);
//---------------------------
//LoadString(g_hInst,IDS_STRING1,str,256);//문자열리소스읽어와버퍼에 저장
LoadString(GetModuleHandle(NULL),IDS_STRING1,str,sizeof(str));
TextOut(hdc,10,10,str,lstrlen(str)); //저장된 문자열 출력
//---------------------------
EndPaint(hWnd, &ps);
return 0;
}
: 현재 실행되고 있는 프로그램의 핸들을 가져오는 함수.
:문자열 리소스를 읽어오는 함수.
① 현재 실행되고 있는 프로그램 핸들
② 문자열 ID
③ 문자열 읽을 버퍼
④ 버퍼 길이
GDI
: Graphic Device Interface
: 모든 출력 장치(화면, 프린터 등)를 제어하는 윈도우즈 모듈
GDI object
: GDI가 그래픽 출력에 사용하는 도구 ( 펜, 브러시, 폰트, 비트맵, 팔레트, 리전...)
일종의 구조체, 선언문은 비공개, GDI object 생성함수로 핸들을 리턴받아 사용 함.
GDI object 를 모아 놓은 것 = DC , DC에서 사용할 오브젝트 선택후 이용.
--> default - 따로 지정하지 않을 때.
BeginPaint, GetDC 함수에서 default로 선택된 GDI object 를 사용하게 됨.
--> default를 바꿀 때 - 함수로 핸들 얻어 지정.
(*) 스톡 오브젝트(Stock Object ) : 윈도우즈 기본 제공하는 GDI 오브젝트. OS부팅시부터 만들어져 있음.
_사용할 스톡 오브젝트의 핸들 값 얻기_
: ① ( = 사용하고자 하는 스톡 오브젝트)을 지정해서 리턴되는 핸들값 가져옴.
_오브젝트 지정_
: ② ( = Get으로 가져온 핸들값)를 사용하도록 설정. 이전에 설정된 핸들값을 리턴함.
_ex_
T/C 사용위한 초기화 순서
- 타이머 카운터에 전원 공급 [PMC_PCER]
- 초기화위해 T/C의 클럭 비활성화 [TC_CCR]
- 초기화위해 T/C의 인터럽트 모두 비활성화 [TC_IDR]
- 초기화위해 T/C의 상태레지스터 클리어 - 상태레지스터는 한번 읽으면 자동으로 0값으로 클리어됨 [TC_SR]
- 모든 인터럽트 비활성화 (다른 인터럽트 신호 발생 금지) [AIC_IDCR]
- T/C의 인터럽트 발생시 실행할 함수의 벡터(주소) 지정 [ AIC_SVR [P-ID] ]
- T/C의 인터럽트 소스모드와 우선순위 설정 [ AIC_SMR [P-ID] ]
- T/C의 인터럽트 클리어 [AIC_ICCR]
- 타이머 카운터 모드 설정 [TC_CMR] : (분주비 설정(1초에 얼마씩나누어셀지) | RA, RB, RC 중 레지스터 선택)
- 타이머 카운터의 인터럽트 모드 선택 [TC_IER]
* RC compare interrupt 사용시(비교모드 사용) 비교값 설정 [TC_RC]
- 인터럽트 중 타이머카운터(T/C의 PID값 사용) 사용하도록 설정 [AIC_IECR]
- T/C 의 0번 사용하도록 설정[TC_CCR] -> 카운터 시작됨
①클럭 공급 ② 소프트웨어적 카운터 리셋 후 클럭 공급
- 타이머 카운터에 전원 공급 [PMC_PCER]
- 초기화위해 T/C의 클럭 비활성화 [TC_CCR]
- 초기화위해 T/C의 인터럽트 모두 비활성화 [TC_IDR]
- 초기화위해 T/C의 상태레지스터 클리어 - 상태레지스터는 한번 읽으면 자동으로 0값으로 클리어됨 [TC_SR]
- 모든 인터럽트 비활성화 (다른 인터럽트 신호 발생 금지) [AIC_IDCR]
- T/C의 인터럽트 발생시 실행할 함수의 벡터(주소) 지정 [ AIC_SVR [P-ID] ]
- T/C의 인터럽트 소스모드와 우선순위 설정 [ AIC_SMR [P-ID] ]
- T/C의 인터럽트 클리어 [AIC_ICCR]
- 타이머 카운터 모드 설정 [TC_CMR] : (분주비 설정(1초에 얼마씩나누어셀지) | RA, RB, RC 중 레지스터 선택)
- 타이머 카운터의 인터럽트 모드 선택 [TC_IER]
* RC compare interrupt 사용시(비교모드 사용) 비교값 설정 [TC_RC]
- 인터럽트 중 타이머카운터(T/C의 PID값 사용) 사용하도록 설정 [AIC_IECR]
- T/C 의 0번 사용하도록 설정[TC_CCR] -> 카운터 시작됨
①클럭 공급 ② 소프트웨어적 카운터 리셋 후 클럭 공급
_소스코드_
_main.c_
---------------------------------------------------------------------------------------------------
API
문자열 리소스
: 윈도우즈에서 문자열도 일종의 리소스로 취급.
리소스에 문자열을 정의해 두고 필요시 읽어와 사용할 수 있음.
장점 - 문자열을 코드와 분리해 따로 관리 가능.
_문자열 리소스 작성_
insert-> resource -> String Table
--> Caption에 문자열 입력. ID 설정
_소스 추가_
{
HDC hdc;
PAINTSTRUCT ps;
TCHAR str[256]; //문자열 저장 버퍼
hdc = BeginPaint(hWnd, &ps);
//---------------------------
//LoadString(g_hInst,IDS_STRING1,str,256);//문자열리소스읽어와버퍼에 저장
LoadString(GetModuleHandle(NULL),IDS_STRING1,str,sizeof(str));
TextOut(hdc,10,10,str,lstrlen(str)); //저장된 문자열 출력
//---------------------------
EndPaint(hWnd, &ps);
return 0;
}
(*) HINSTANCE GetModuleHandle (NULL) ; |
int LoadString (①HINSTANCE hInstance, ②UINT uID, ③LPTSTR lpBuffer, ④int nBufferMax); |
① 현재 실행되고 있는 프로그램 핸들
② 문자열 ID
③ 문자열 읽을 버퍼
④ 버퍼 길이
GDI
: Graphic Device Interface
: 모든 출력 장치(화면, 프린터 등)를 제어하는 윈도우즈 모듈
GDI object
: GDI가 그래픽 출력에 사용하는 도구 ( 펜, 브러시, 폰트, 비트맵, 팔레트, 리전...)
일종의 구조체, 선언문은 비공개, GDI object 생성함수로 핸들을 리턴받아 사용 함.
GDI object 를 모아 놓은 것 = DC , DC에서 사용할 오브젝트 선택후 이용.
--> default - 따로 지정하지 않을 때.
BeginPaint, GetDC 함수에서 default로 선택된 GDI object 를 사용하게 됨.
--> default를 바꿀 때 - 함수로 핸들 얻어 지정.
(*) 스톡 오브젝트(Stock Object ) : 윈도우즈 기본 제공하는 GDI 오브젝트. OS부팅시부터 만들어져 있음.
_사용할 스톡 오브젝트의 핸들 값 얻기_
HGDIOBJ GetStockObject (① int fnObject); |
_오브젝트 지정_
HGDIOBJ SelectObject (② int fnObject); |
_ex_
728x90
'코스웨어 > 11년 내장형하드웨어' 카테고리의 다른 글
9월 15일 일일보고서-[내장형]김정우 (19) | 2011.09.15 |
---|---|
[내장형]황세선 2011년 9월 14일 (24) | 2011.09.15 |
[내장형]정선주 2011년 9월 9일 (10) | 2011.09.10 |
[내장형]심재원_2011년09월08일 (10) | 2011.09.08 |
[내장형]김동화_2011년_9월6일_일일보고서 (17) | 2011.09.06 |
[내장형]최남식-2011년9월5일 일일보고서 (11) | 2011.09.06 |
[내장형]윤민석-2011년 9월 2일 일일보고서 (10) | 2011.09.02 |
AT91SAM7S의 USART(DBGU) (0) | 2011.09.02 |