오전수업
어제부터 했던 실습.
----------------------------------------------------------
#define PORTC (*(volatile unsigned char *)0x35) //출력 설정
#define DDRC (*(volatile unsigned char *)0x34) //입출력 설정
#define PINC (*(volatile unsigned char *)0x33)
#define DDRF (*(volatile unsigned char *)0x61)
#define PORTF (*(volatile unsigned char *)0x62) //입출력 설정
int main(void)
{
DDRC = 0x00; //LED연결
PORTC = 0x00;
DDRF = 0x00; //스위치 연결
PORTF = 0x00; //LED초기화
unsigned char led;
while(1)
{
led = PINC;
led = 0xff-led;
switch(led)
{
case 0x01:
DDRF =0x01;
break;
case 0x02:
DDRF =0x03;
break;
case 0x04:
DDRF =0x07;
break;
case 0x08:
DDRF =0x0f;
break;
case 0x10:
DDRF =0x1f;
break;
case 0x20:
DDRF =0x3f;
break;
case 0x40:
DDRF =0x7f;
break;
case 0x80:
DDRF = 0xff;
break;
default:
DDRF = 0x00;
break;
}
}
return 0;
}
------------------------------------------------------------
결과.
오후수업
switch문
siwtch 문의 정수값으로 문자형 변수를 사용한 예제.
------------------------------------------------------------
#include <stdio.h>
int main()
{
char ch;
printf("숫자 0~9까지: ");
scanf("%c", &ch);
switch (ch)
{
case '0' : printf("Zero.\n");
break;
case '1' : printf("One.\n");
break;
case '2' : printf("한글로 이.\n");
break;
case '3' : printf("한글로 삼.\n");
break;
case '4' : printf("한글로 사.\n");
break;
case '5' : printf("한글로 오.\n");
break;
case '6' : printf("한글로 육.\n");
break;
case '7' : printf("한글로 칠.\n");
break;
case '8' : printf("한글로 팔.\n");
break;
case '9' : printf("한글로 구.\n");
break;
default : printf("잉?아니야.\n");
}
return 0;
}
---------------------------------------
결과
코드중 case '0' 부분에 따옴표를 빼고 아스키코드로 대체하여도
에러없이 출력된다.
무조건 case다음에는 정수형 상수가 와야한다.
break는 흐름을 제어한다고 생각하면된다.
case에서 수행하고 break에서 끊어주어야하는데
없을시에 원하는 출력말고도 다른 값까지도 출력이 된다.
-문자입출력함수
getchar은 입력되는 문자를 하나씩읽는 함수이다.
putchar은 getchar에 대응하여 화면에 출력해주는 함수이다.
둘다 함수지정자를 사용할필요가 없으며 실행속도가 빠르다.
위에 출력되는것은 문자의 갯수와 문자 출력이다.
다음은 약간 응용해서~~
나머진 위에꺼랑 똑같고 나머진 뭐가 좀 잘못된듯...
이거 물어 봐야됨..,ㅠ,.ㅠ
다음은 아스키코드를 putchar을 이용해서 출력함.
9는 숫자가 따로 내려와있다. 만약 10가지 이상 출력을 하려 하면 (;) 찍혀 나온다.
putchar를 한번 보자.
printf >> 함수는 표준 C 라이브러리의 일부로써 프로그램이 데이터를 화면에 나타내도록 하는때 가장 많이 사용된다.
scanf >> printf 함수와 마찬가지로 출력이 아닌 키보드로 부터 값을 입력받아 데이터를 활당하는 역할을 한다.
putchar >> putchar 다음에는 반드시 한 문자만 와야 하며 그 문자가 화면에 출력 된다.
putchar는 printf와는 달리 1문자 밖에는 출력시킬 수가 없다.
따라서 만약A를 출력시키고 다음 줄로 넘어가려면 다음과 같이 두 개의 putchar를 사용하여야 한다.
설명은 그림에..
반복문...어려움..
이건 아직 잘 모르겠음..-_-;;크ㅏ어ㅏ러언ㄹ..
3가지의 조건이 있다. 1번 초기조건 2번 반복되는일의 조건 3번 종료 조건
이 3가지가 맞아야한다.
'School Study' 카테고리의 다른 글
[BSP]업무일지 - 20100603 - 임종현 (0) | 2010.06.04 |
---|---|
[BSP]업무일지 - 20100527 -임종현 (0) | 2010.05.27 |
[BSP]업무일지-20100525-임종현 (0) | 2010.05.25 |
[BSP]업무일지 - 2005024 - 임종현 (0) | 2010.05.24 |
[BSP]업무일지 -20100519-임종현 (0) | 2010.05.19 |