[Codevision]OK-128 kit 스위치 상승펄스 캣치

[Codevision]OK-128 kit 타이머0를 이용해 입력 채터링 방지 방법 위 링크의 소스를 토대로 작성됨. 만약 아래와 같은 코드를 사용해 어떤 값을 증가시킨다면 엄청난 속도로 값이 증가될 것이다. if(TIMER_KEY3>=KEYTIME){adr++;} 키가 한번 눌리면 1회만 증가시킬 필요가 있는데 아래 소스를 참고해보자.

 

[AVRStudio4]Printf 사용하기

AVR Studio 4.19기준 상부의 “Project”메뉴에서 “Configration Options”를 선택해 Project Option 진입 후 아래와 같은 절차로 설정해주면 Printf 함수를 사용할 수 있음. libprintf_flt.a 를 Link with These에 추가 Link Options에 아래 옵션 추가 -Wl,-u,vfprintf -lprintf_flt -lm

 

[Codevision]송수신 인터럽트를 이용한 RS485 제어

RS485를 제어하려면 Receive, Drive Enable Pin을 제어해야 합니다. Polling 방식이나 제어주기에 제약이 없는 상황에서는 문제가 없지만 능동적인 제어일때는 여러가지 문제가 발생합니다 따라서 인터럽트를 이용해 송수신을 하면  delay함수를 쓰지 않고도 제어할 수 있어 효율적인  송,수신을 할 수 있습니다. ※ 485 드라이버를 2개 사용해서 송 수신 라인이 다르게 설계했다면 해당 내용은 유효하지 않습니다. 예제는 USART3으로 되어있으니 참고하시기 …

Continue reading ‘[Codevision]송수신 인터럽트를 이용한 RS485 제어’ »

[Codevision] printf 함수 usart0, 1, 2, 3 으로 임의 변경해서 쓰기.

printf() 함수는 디버깅에 아주 유용하게 쓰이고 있다.  하지만 기존설정은 USART0에 고정되어 있어 제약이 생겨 이를 변경할 경우가 생기는데 이 때 유용한 방법이다. “CodeVisionAVR User Manual”에 해당내용이 있어 발췌해 왔다. #define _ALTERNATE_PUTCHAR_ #define _ALTERNATE_GETCHAR_ 기존 printf에서 사용하는 putchar(),getchar()함수 기능을 교체하는것이 핵심이다. 따라서. putchar(),getchar() 함수를 다시 지정하여 USARTx에 사용 가능하도록 하는 것이다. USART1에 사용하도록 설정한 예제니 참고하기 바란다. …

Continue reading ‘[Codevision] printf 함수 usart0, 1, 2, 3 으로 임의 변경해서 쓰기.’ »