'2015/02/24'에 해당되는 글 2건

  1. 2015.02.24 휴대폰 충전기(MC34063) 시뮬레이션
  2. 2015.02.24 디버깅(Debugging)과 논리연산자
Busan IT/제어기초2015. 2. 24. 17:26

휴대폰 충전기(MC34063) 시뮬레이션

 

휴대폰 충전기(MC34063) 프로테우스(proteus)에서 시뮬레이션 돌려보기

 



 

Capacitorripple을 평화(平和)시켜주는 역할을 한다.

 

필요 없는 소자를 굳이 고르라고 하면 다이오드이다.

 

인덕터(Inductor)는 변화를 싫어하는 성질이 있어서 초기 전류가 흐르면 전류를 막아주고 전류흐름이 끊기면 전류를 흐르게 해준다.

 

인덕터의 용량이 커질수록 기울기가 완만해진다.

 

레지스터(resistor)가 비율이 1:3으로 되어야 한다.

반응형
Posted by newind2000
Busan IT/제어언어2015. 2. 24. 13:16

디버깅(Debugging)과 논리연산자

 

#1. 디버깅(Debugging)

 

디버깅(Debugging) 계속.

 

p/156 예제.

 

//최적화를 위해 초기화는 사용직전에 해주는 것이 좋다.

 

watch창을 통해 변수와 조건문의 상태를 확인해본다.

Do~while문은 중괄호에 있는 명령어를 반드시 한번은 실행되어야 할 때 쓰인다.

#2. 디버깅(Debugging)

 

p/164 for(반복문)

 

whilevs. for

 

입맛에 맞춰서 쓰면 된다!

 

p/166 예제 debugging

 

노란 화살표는 다음 수행될 행을 가리킨다.

 

디버그에 있는 watch창을 통해 모든 변수의 변화과정을 볼 수 있다.

 

 

#3. 조건문

 

p/179 조건문 예제

 


보안상 문제로 scanfcompiler에서 막는 경우가 있다. 이것을 해지하기 위해 #pragma를 쓰면 된다. ex) #pragma warning(disable:4996)

 

// 에러 코드가 뜨면 해당 코드를 인터넷에 검색하여 문제점을 해결한다.

 

//출력하는 명령어를 사용하지 않더라도 어떤 특정 값이나 변수를 입력하면 CPU에서는 그에 해당하는 작업을 수행한다.

 

논리적으로 범위가 한정된 조건문에서는 else if를 사용하여 compiler가 비교하는 횟수를 최소화함으로써 효율적인 코딩을 할 수 있다.

 

p/182 예제

#4. 논리연산자

 

논리 OR에서 값이 어떻게 변화하는지 알아보자.

OR인 경우 앞에 값이 참인 경우 뒤에 것을 수행하지 않는다.

 

CPU에서 최적화를 위해 || 뒤에 있는 명령어를 수행하지 않는다.

 

때문에 이러한 경우를 피하기 위해서는 여러 연산자를 한 줄에 적지 않는 것이 좋다.

 

p/187 삼 항 연산자

 

물음표(?):(콜론)의 조합

 

-> A ? B : C

= 조건 ? 참일 때 수행 : 거짓일 때 수행

= if(A)

{

B

}

else

{

C

}

 

삼 항 연산자를 쓰는 것은 추천하진 않지만 부득이하게 코딩의 양을 줄이기 위해 사용해야 하는 경우가 있다.

 

p/188 삼 항 연산자 예제


 

continue문은 continue가 적힌 자리에서 나머지는 수행하지 않고 반복조건으로 돌아간다.

break문은 가장 가까이 있는 반복문을 빠져 나간다.

 

 

 

 

 

 

반응형
Posted by newind2000