728x90
반응형
PWM
<PWM 톱니파>
톱니파 주기를 구하는 공식
톱니파를 구형파로 나타내보면 아래그림과 같다
<톱니파 -> 구형파>
기준선(CDTY)를 조절하면 펄스 폭을 조절 할 수있다.
<PWM 삼각파>
삼각파 주기 구하는 공식
아래는 삼각파를 구형파로 나타낸 그림이다.
<삼각파 -> 구형파>
이제 PWM 설정순서를 살펴보자.
<PWM_INIT>
<PWM 레지스터>
사용 할 레지스터를 찾아 디파인 해준다.
<PWM Mode Register>
주파수를 200KHZ로 설정해보자.
분주비는 MCK/8을 선택하고 DIVA | DIVB에 30을 주면
=> 48,000,000HZ / 8 / 30 = 200,000HZ => 200KHZ이다.
<AT91SAM7S256의 PIO에 의한 외부핀>
표에서 PWM을 찾아 사용할 핀 번호를 선택한다.
스태틱
스태틱 컨트롤은 사용자로부터 입력을 받아들이는 기능은 없고 오로지 문자열을 보여주는 것이 기능의 전부이다. 주 역할은 에디트나 다른 컨트롤 옆에 위치하면서 컨트롤의 용도를 설명하는 역할을 한다. 버튼은 표면에 제목을 붙일 수 있지만 리스트 박스나 스크롤 바 등의 컨트롤은 그 자체에 제목을 붙일만한 곳이 없으므로 스태틱 컨트롤을 제목 표시용으로 사용한다.
<예제>
OnCreate에서 스태틱 컨트롤을 만들기만 할 뿐 그 외에 코드는 작성할 필요가 없다.
스태틱 컨트롤은 실행중에 부모 윈도우로 통지 메시지를 보낼 필요가 없기 때문에 ID를 -1로 지정하며 여러개의 스태틱 컨트롤이 있을 경우 모두 -1의 같은 ID를 사용해도 상관없다.
ID-1은 ID를 주지 않는다는 뜻이며 더 이상 이 컨트롤을 프로그래밍할 필요가 없을 때 사용한다.
<출력>
<PWM 톱니파>
톱니파 주기를 구하는 공식
톱니파를 구형파로 나타내보면 아래그림과 같다
<톱니파 -> 구형파>
기준선(CDTY)를 조절하면 펄스 폭을 조절 할 수있다.
<PWM 삼각파>
삼각파 주기 구하는 공식
아래는 삼각파를 구형파로 나타낸 그림이다.
<삼각파 -> 구형파>
이제 PWM 설정순서를 살펴보자.
<PWM_INIT>
void PWM3_INIT()
{
//전원 공급
PMC_PCER=1<<PWMC;
//풀업저항 OFF
PIO_PUDR = 1<<PWM3;
//Peripheral B 선택
PIO_BSR = PWM3;
//I/O_PIN OFF
PIO_PDR = 1<<PWM3;
//MODE 레지스터
PWM_MR = (3<<PREA) |(30<<DIVA) | (3<<PREB) |(30<<DIVB);
return;
}
<PWM 레지스터>
사용 할 레지스터를 찾아 디파인 해준다.
<PWM Mode Register>
주파수를 200KHZ로 설정해보자.
분주비는 MCK/8을 선택하고 DIVA | DIVB에 30을 주면
=> 48,000,000HZ / 8 / 30 = 200,000HZ => 200KHZ이다.
<AT91SAM7S256의 PIO에 의한 외부핀>
표에서 PWM을 찾아 사용할 핀 번호를 선택한다.
스태틱
스태틱 컨트롤은 사용자로부터 입력을 받아들이는 기능은 없고 오로지 문자열을 보여주는 것이 기능의 전부이다. 주 역할은 에디트나 다른 컨트롤 옆에 위치하면서 컨트롤의 용도를 설명하는 역할을 한다. 버튼은 표면에 제목을 붙일 수 있지만 리스트 박스나 스크롤 바 등의 컨트롤은 그 자체에 제목을 붙일만한 곳이 없으므로 스태틱 컨트롤을 제목 표시용으로 사용한다.
<예제>
LRESULT OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
CreateWindow(TEXT("static"), TEXT("Only Text"), WS_CHILD | WS_VISIBLE,
20, 20, 100, 25, hWnd, (HMENU)-1, g_hInst, NULL);
return 0;
}
OnCreate에서 스태틱 컨트롤을 만들기만 할 뿐 그 외에 코드는 작성할 필요가 없다.
스태틱 컨트롤은 실행중에 부모 윈도우로 통지 메시지를 보낼 필요가 없기 때문에 ID를 -1로 지정하며 여러개의 스태틱 컨트롤이 있을 경우 모두 -1의 같은 ID를 사용해도 상관없다.
ID-1은 ID를 주지 않는다는 뜻이며 더 이상 이 컨트롤을 프로그래밍할 필요가 없을 때 사용한다.
<출력>
728x90
'코스웨어 > 11년 내장형하드웨어' 카테고리의 다른 글
[내장형]이상만_110927 (14) | 2011.09.28 |
---|---|
잠깐 내려 놓는 시간.. (7) | 2011.09.27 |
[내장형]윤병도_20110926일일보고서 (18) | 2011.09.26 |
[내장형]공정우_2011.9.23 윈 API 보고서 (정우) (15) | 2011.09.24 |
[내장형]백길남_2011년 9월 21일 수요일 보고서 (13) | 2011.09.21 |
[내장형]박춘우_2011년 9월 20일 화요일 Daily Report (26) | 2011.09.21 |
[내장형]한원우_9월19일 보고서 (36) | 2011.09.20 |
[내장형]이동현_0916일일보고서 (23) | 2011.09.17 |