// C++ code
//
#define fnd_a 4 // 1
#define fnd_b 5 // 2
#define fnd_c 6 // 4
#define fnd_d 7 // 8
unsigned char cnt = 0;
void setup()
{
pinMode(4, OUTPUT); //1
pinMode(5, OUTPUT); //2
pinMode(6, OUTPUT); //4
pinMode(7, OUTPUT); //8
// 마리컴 방식
DDRD = 0xff;
// 시리얼 통신 초기화
Serial.begin(9600);
}
void loop()
{
char buf =45, buf1;
// 실습 4 수신데이터 표시하는거
if(Serial.available())
{
buf1 = Serial.read();
PORTD = (buf1 << 4);
Serial.write(buf1);
}
/*
// 실습 3
PORTD = (cnt << 4);
Serial.println(cnt);
if(cnt >= 9) cnt = 0;
else cnt++;
delay(500);
*/
/*
Serial.read();
buf1 = ((buf/10) + 0x30);
Serial.write(buf1);
PORTD = (buf1 << 4);
delay(1000);
buf1 = (buf %10) + 0x30;
PORTD = (buf1 << 4);
*/
//Serial.write(buf);
// 실습 2 = 시리얼 통신으로 받은 데이터를
//FND에 표시하는 거 = 0 ~ 9 까지
//Serial.print("kkk");
//Serial.println("song Myoung Gyu");
//Serial.write("kim");
//delay(500);
/* 실습1
실습항목
1. 업 카운터 = 1식증가
2. 짝수 업 카운터
3. 홀수 업 카운터
4. 다운 카운터
5. 다운 짝수 카운터
// 마이컴 방식
buf = 10-cnt;
if(cnt % 2 == 1) PORTD = (buf << 4);
delay(400);
cnt++;
if(cnt > 9) cnt = 0;
*/
/*
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
*/
}