분류 전체보기
시스템 버스
시스템 버스란? 시스템 버스는 컴퓨터 전체와 장치 간에 데이터를 전송하고 공유하는 컴퓨터 아키텍처의 한 측면입니다. 컴퓨터 메인보드 내 프로세서, 메모리, 주변장치들을 서로 연결하여, 시스템이 원활하게 가동되도록, 데이터 전송 역할을 하는 공통의 통로입니다. 시스템 버스의 특정 디자인은 각 특정 컴퓨터 시스템의 스타일, 크기 및 요구 사항에 따라 변경됩니다. 컴퓨터의 시스템 버스를 사용자 정의하거나 시스템이 표준화된 설계를 사용하여 작동하도록 할 수 있습니다. 시스템 버스는 8비트, 16비트, 32비트 등이 될 수 있습니다. 32비트 버스는 한 번에 32비트의 정보를 전송할 수 있음을 의미합니다. 시스템 버스의 종류 시스템 버스를 구성하는 세 가지 유형의 버스가 있습니다. 각 유형의 버스는 정확한 데이터..
CANdevStudio
CANdevStudio는 CAN 네트워크를 구성하고 시뮬레이션 할 수 있는 오픈소스 크로스 플랫폼 CAN 시뮬레이션 소프트웨어다. CANdevStudio 를 사용하여 자동차의 점화 상태, 도어 상태 또는 후진 기어와 같은 CAN 신호를 시뮬레이션 할 수 있다. CAN 하드웨어 인터페이스(예: Microchip, Vector, PEAK-Systems)와 함께 작동하거나 심지어 Linux에서는 내장 에뮬레이션으로(vcan 및 cannelloni) 실제 CAN 하드웨어없이도 사용할 수 있다. SocketCAN 사용SocketCAN은 Linux용 CAN 프로토콜(Controller Area Network)의 구현이다. 다른 네트워크 장치와 유사한 방식으로 다른 CAN 버스 장치와 커뮤니케이션 할 수 있는 인터페..
YUV
YUVYUV는 Video Data 형식으로 사용하며 디지털 비디오 스트림 전송 포멧이다. 영상에서 어둡고 밝은지 정도를 나타내는 성분인 Y( 휘도: Luminance ), 색상 정보를 가지는 U,V 성분(색차:chrominance)으로 구성되어 있습니다. YUV는 색과 빛이 따로 구성이 되어 있는 형식이다. YUV 는 RGB 표현법에 비해 적은 비트수로 같은 그림을 표현할 수 있는데, 이게 가능한 이유는 사람 눈이 색상 차보다는 명암 차에 더 민감하기 때문이다. 이에 기반해서 많은 영상 정보들은 Y와 UV 를 나눈 것이고, 색상 정보를 별도로 부호화 하도록 하여 필요에 따라 압축 효율을 높일 수 있다. 이를 서브샘플링(subsampling) 이라고 한다. Y : 명암(밝음과 어두움)을 나타낸다.U(Cb..
RGB
RGB : 일반적으로 사용하는 색상 구조로 이름 그대로 R(Red), G(Green), B(Blue) 색상의 조합으로 밝기는 없고 모두 색상으로 구성되어있다. RGB 형식은 각 RGB 채널 마다 각 Bit(8/16/24/32 Bit) 구성의 색상이 모두 존재한다. 8bit RGB : RGB24 라고도 부르며 2의 8승 구조로 각 채널 하나가 256의 색상을 가질 수 있다. 이 값을 모두 합하면 256X256X256 = 1,677,216 컬러가 된다. 여기서 8비트 RGB는 모든 색상 중에서 256개를 선택하여 사용한다. (모든 색상을 다 사용하지 못한다) 그렇기 때문에 팔레트가 존재한다. 8비트 색상은 256개의 팔레트 정보를 가지고 있고 1바이트의 점을 표현하는데 이때 1바이트에 해당하는 것을 인덱스 ..
[백준] C++ 10809번 알파벳 찾기
#include #include using namespace std; int main() { string s; string alpha = "abcdefghijklmnopqrstuvwxyz"; cin >> s; for (int i = 0; i < alpha.length(); i++) cout
[백준] C++ 4673번 셀프 넘버
#include using namespace std; int self_number(int n) { int sum = n;//자기 자신을 먼저 더해주고 while (1) { if (n == 0) break; sum += n % 10;//1의 자리 더해주기 n = n / 10;//한자리씩 없애기 } return sum; } int main() { bool arr[10001] = { 0, }; for (int i = 1; i
CAN
CAN Controller Area Network의 약자로 차량 내에서 장치들이 서로 통신하기 위해 설계된 표준 통신 규격입니다. 차량 내 ECU(Electronic Control Unit)들은 CAN 프로토콜을 사용하여 통신합니다. 최근에는 차량 뿐만 아니라 산업용 자동화기기나 의료용 장비에서도 종종 사용되고 있습니다. 과거에 자동차 제조업체들은 UART 통신 시스템을 사용하여 차량 내 전자장치를 연결하였습니다. 그러나 더욱 더 많은 전자장치를 차량 내에 탑재하게 됨에 따라, 배선 장치는 공간을 많이 차지할 뿐 아니라 무게가 많이 나가며 비용이 많이 들게 되었습니다. 그렇게 CAN 인터페이스가 개발되게 되었는데 CAN 인터페이스는 여러 개의 모듈을 제어할 수 있어서 배선 비용, 복잡성 그리고 무게를 경..
[백준] C++ 4344번 평균은 넘겠지
#include using namespace std; int main() { int input; int student_count; int student_score[1000] = { 0 }; int sum, avg , new_avg ; double result = 0; cin >> input; for (int i = 0; i > student_count; for (int j = 0; j > student_score[j]; sum += student_score[j]; } avg = sum / student_count; for (int j = 0; j < studen..
[백준] C++ 8958번 OX퀴즈
#include #include using namespace std; int main() { int input; string data; cin >> input; for (int i = 0; i > data; int result = 0, sum = 0; for (int j = 0; j < data.size(); j++) { if (data[j] == 'O') result++; else result = 0; sum += result; } cout
[백준] C++ 1546번 평균
#include using namespace std; int main() { int input; int score[1000] = {}; int max = 0; double result = 0; cin >> input; for (int i = 0; i > score[i]; if (max