본문 바로가기
코스웨어/11년 내장형하드웨어

[내장형]이수란_2011년9월7일

by 알 수 없는 사용자 2011. 9. 7.
728x90
반응형
ARM

 

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] -> 카운터 시작됨 
   ①클럭 공급  ② 소프트웨어적 카운터 리셋 후 클럭 공급


_소스코드_

 _main.c_



---------------------------------------------------------------------------------------------------
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;
}

 

 (*) 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);
   : ② ( = Get으로 가져온 핸들값)를 사용하도록 설정. 이전에 설정된 핸들값을 리턴함.
_ex_




728x90