2019/02/04 기준으로 현재 작성중인 글 입니다. 1) 입력 전압 : 4V to 36V (@max) 2) 출력 전류 : 600mA (@max)3) 스위칭 온 타임 : 60ns (@min)4) 동작 온도 : -40°C ~ 125°C 5) 통합 동기 정류 방식이며, 소프트 스타트, 내부 보상회로가 구성되어 있어 외부의 컴포넌트를 최소화 시킴. 6) 사용 가능 주파수 대역 옵션 : 1.1MHz and 2.1MHz (PFM and PWM(FPWM) 옵션 사용가능) = FPWM? (Fast Pulse Width Modulation) 7) 3.3V 고정된 출력전압 사용 가능 8) Protection 기능으로 OCP(Over Current Protection), SCP(Short Circuit Protectio..
#define _CRT_SECURE_NO_WARNINGS 또는, #pragma warnings(disable: 4996) 위의 두 코드 중 하나를 소스코드 첫 단에 둘 중 하나를 넣어줌으로써, scanf, strcpy, fopen 등을 사용할 때Warning C4996 Error 로 부터 방지할 수 있습니다. 사용하는 이유는, 안전성의 이유로 Visual Studio 2005 이상부터 경고가 발생합니다.SECURE 모드로 scanf_s 로 사용해서 해결을 하라고 하지만, 다른 곳에서 사용하기에는 호환성의 문제가 많습니다. (Visual Studio 에서만 지원합니다.) C에서는 문자열이나 파일에 관련된 버퍼나 스택등 메모리에 문제가 생길 수도 있기 때문에 _s를 권장합니다._s는 메모리의 사이즈를 요구합..
# 플로팅(Floating) 풀업 저항(Pull-Up Register)과 풀다운 저항(Pull-Down Register)에 앞서, 플로팅(Floating) 이란? INPUT으로 설정된 핀에는 5V(VCC), 또는 0V(GND)의 전압을 입력해주는 것이 일반적 입니다. 위 그림의 왼쪽 회로의 INPUT에는 0V(GND)의 전압이 입력됩니다. 그러나, 오른쪽의 회로에는 INPUT 전압에 5V도 아닌, 0V도 아닌 아무 값도 아닌 전압이 입력 됩니다.이것을 HIGH, LOW로 보기에는 힘듭니다. 이 상태를 아무것도 연결되지 않은 채로 떠있다는 의미로 플로팅(Floating) 상태라고 합니다. 플로팅 상태에서는 아주 작은 노이즈 만으로도 HIGH와 LOW 사이를 빠르게 왔다갔다 하기 때문에오동작을 유발할 수 있..
# RS232 / RS422 / RS485 정리 마이크로프로세서는 주변장치를 통해서 외부와 정보를 교환할 수 있으며, 일반적으로 정보를 외부와 교환하는 방법으로는 병렬통신과 직렬통신 2가지로 나뉩니다. 일반적으로 컴퓨터내의 장치와 정보교환을 할 때는 통상적으로 고속의 통신속도를 필요로하여한 꺼번에 많은 정보를 처리할 수 있는 병렬통신 방식을 주로 사용합니다. 이는 대량의 정보를 빠른 시간에 한 꺼번에 처리 하므로써, 컴퓨터의 성능을 향상 시킬 수 가 있기때문인데, 이러한 방법의 대표적인 것이 마이크로프로세서 자체의 정보 처리량을 증가시키는 것이며이것은 데이터 비트의 수로써 표현됩니다. 하지만 모든 경우에 병렬통신 방식을 사용할 순 없습니다.이유는, 통신거리의 제한성, 구현상의 기술적인 어려움과 비용이 너..
# USART 라이브러리 AVR ATmega328P Chip 기준으로 하여 Atmel Studio 7.0으로 작성되었습니다. Update : 2018/01/01 # UART.h #ifndef _UART_H_ #define _UART_H_ #include void UART_INIT(void); // UART 초기화 unsigned char UART_receive(void); // 1바이트 수신 void UART_transmit(unsigned char data); // 1바이트 송신 void UART_printString(char *str); // 문자열 송신 void UART_print8bitNumber(uint8_t no); // 숫자를 문자열로 변환하여 송신 void UART_print16bitNum..
# 아두이노 시리얼 통신 아두이노 시리얼 통신 방법은 간단합니다. AVR 코딩에서 레지스터를 일일히 설정할 필요가 없습니다. UART 시리얼 통신을 위한 Serial 클래스를 제공하기 때문 입니다.void setup() { Serial.begin(9600); // UART 시리얼 통신 초기화 } void loop() { while(Serial.available()) // 수신된 데이터가 있는 경우 { byte data = Serial.read(); // 수신된 데이터 읽기 Serial.write(data); // 에코 백 } } void begin(unsigned long baud) void begin(unsigned long baud, byte config) - 매개변수 baud : 속도 config ..
USART 레지스터 설정 방법은 아두이노 우노에 쓰이는 AVR ATmega328 데이터시트 기준으로 작성된 글 입니다. 기능별로 정리된 ATmega328 데이터시트에서 발췌한 USART Block Diagram 입니다. # USART 레지스터 설정 방법 1. UCSR0A (USART Control and Status Register 0 A) : UART 통신의 제어와 상태를 알아보기 위한 레지스터 중 하나 비트 이름 설명 7 RXC0 Receive Complete : 수신 버퍼(UDR0)에 읽지 않은 문자가 있을 때는 1이되고, 버퍼가 비어있을때는 0이 된다. UCSR0B 레지스터의 RXCIE0 비트와 함께 사용되어 수신 완료 인터럽트를 발생시킬 수 있다. while(!(UCSR0A & (1
UART (Universal Asynchronous Receiver Transmit) : 비동기 모드로서 사용되는 시리얼통신 USART (Universal Synchronus Receiver Transmit) : 동기 모드로서 사용되는 시리얼통신 # UART 와 USART의 차이 = 동기와 비동기 모드의 차이 동기 모드는 데이터 동기화를 위해 별도의 클록 신호를 전송한다.AVR에서 데이터 동기화를 위한 클록 신호는 XCK 핀을 통해 전달된다. 동기 모드에서는 비동기 모드에서 데이터 동기화를 위해 사용하는 시작 비트(start bit)와 정지 비트(stop bit)는 필요하지 않으므로 데이터 전송 효율을 높일 수 있는 장점이 있지만,클록 핀을 필요로 하는 단점이 있다. 비동기 모드는 별도의 클록을 사용하지..
UART(범용 비동기화 송수신기: Universal asynchronous receiver/transmitter)는 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종이다. UART는 일반적으로 EIA RS-232, RS-422, RS-485와 같은 통신 표준과 함께 사용한다. UART의 U는 범용을 가리키는데 이는 자료 형태나 전송 속도를 직접 구성할 수 있고 실제 전기 신호 수준과 방식(이를테면 차분 신호)이 일반적으로 UART 바깥의 특정한 드라이버 회로를 통해 관리를 받는다는 뜻이다. 통신 데이터는 메모리 또는 레지스터에 들어 있어 이것을 차례대로 읽어 직렬화 하여 통신한다. 최대 8비트가 기본 단위이다.UART는 일반적으로 컴퓨터나 주변 기기의 일종으로 병렬 데..