본문 바로가기

분류 전체보기

(225)
CAN 통신이란 0. 순서1. CAN (Controller Area Network) 통신이란  1.1. 등장 배경  1.2. CAN의 구성  1.3. CAN의 특징  1.4. High Speed CAN vs Low Speed CAN   1.4.1. About High Speed CAN   1.4.2. About Low Speed CAN 2. About CAN Frame  2.1. Data Frame   2.1.1. Detail of Data Frame  2.2. Remote Frame  2.3. Error Frame  2.4. Overload Frame 3. Detail of CAN Protocol  3.1. 동기화 관련   3.2.1. Hard Synchronization   3.2.2. Soft Synchroniza..
[C#] Various Keywords, Methods - new()Object 생성 시 사용C#에서는 내장 Class인 string, int, double 등을 포함한 모든 Class Object를 상속받으므로 new keyword를 통해 object 생성 가능CANClass canClass = new CANClass();canClass.CANConnect();  - Application.DoEvents()Window는 여러 작업을 동시에 처리하는 것이 아닌 Queue 내에 Message(작업)가 들어온 차례대로 작업을 처리특정 Process가 자원을 점유하는 동안에 다른 작업들은 Queue 내에서 대기DoEvents Method는 이런 대기중인 Queue의 Window Message(Click, Keyboard 입력 등)을 처리하라는 명령즉 다른 작업이 ..
[C#] Get, Set 키워드 Get, SetC++의 경우, Data의 은닉성을 위해 Member 변수를 Private나 Protected로 선언한 후, 그 변수를 이용할 때 Set(), Get()과 같은 함수를 만들어 이용해야 했음C#의 경우, Get, Set Property를 통해 이를 간단하게 처리할 수 있음 Class를 Instance화 하여 내부의 Field와 Property를 할당, 조회할 수 있음Field에 get, set을 이용해 Property로 처리할 수 있음이 때 Property의 값을 할당 및 반환할 때 사용 Field : Class / Structure에서 직접 선언되는 모든 형식의 변수. 값 할당, 조회만 가능Property : 값을 함수로 처리할 수 있음. 변수의 값을 변경하거나 가져올 때 조건을 걸어 변수..
[C#] Invoke, InvokeRequired, Delegate Invoke / InvokeRequired 사용 이유C#의 경우 보통 Main Thread만이 UI에 대한 Control을 조작할 수 있게 함 (Thread Affinitiy)응용 프로그램이 실행될 경우 기본적으로 하나의 Thread가 발생 : Main Thread이 Thread는 Main Form의 Event 처리 및 Main Form의 각종 Control들에 대한 읽기 / 쓰기 작업 수행Main Form에서 다른 Form을 띄울 경우에도 기본적으로 Main Thread가 자식 Form의 Control까지 모두 소유 이 때, Main Thread 외의 Thread에서 UI 상의 Control(Label, Textbox 등)에 접근하려 할 경우 아래의 Cross Thread Error 발생별도의 Thre..
[C#] Using의 2가지 사용법 1) 외부 DLL 사용using System;using System.Collections.Generic;using System.Linq;코드 상단에 사용되는 'using' Keyword는 import 외부 DLL 파일을 사용하는데 쓰임Namespace에 정의된 Type을 참조하는데 쓰임 DLL (Dynamic Link Library) : Microsoft Window에서 구현된 Dynamic Library다른 Program에서 활용할 수 있는 다양한 함수들을 내장하고 있다 2 ) 자동 Dispose를 통한 Resource 관리// Create and open the file in append modeusing (StreamWriter file = new StreamWriter(FileName, true)..
DLL(Dynamic Link Library)이란 - Library란SW 개발 시 자주 쓰이는 함수 등을 모아 표준화한 것 - Static Link LibraryCompile 시점에 Linker가 Library를 연결하여 실행 파일의 일부분이 됨 - DLL(Dynamic Link Library)란Execute File에서 해당 Library를 사용할 때만 Library File을 참조함Static Link Library와 다르게 Compile 시점에 실행 파일에 함수를 복사하지 않고 함수의 위치정보만을 통해 그 함수를 호출한다 - 사용 이유Library를 사용할 때만 가져오므로 모든 Library의 함수를 실행파일에 가져오는 Static Link Library에 비해 사용되는 Memory 공간을 줄일 수 있다 - 사용 시 유의 사항 DLL 파일을 사용하..
Visual Studio 실행 파일(.exe 파일) 생성법 A. Visual Studio 2017 이하 버전의 경우    Project -> 프로젝트이름 Properties 클릭Application 창의 Output type을 기존의 Windows Application에서 Console Application으로 변경2019 버전에서 위 내용을 적용할 경우 실행 파일 시작 시 마다 터미널 창이 같이 표시됨 B. Visual Studio 2019 이후 버전의 경우 Solution Explorer 상의 Project 우클릭 -> Properties 클릭Build 창의 Configuration 항목을 기존의 Debug에서 Release로 변경 이후 Output Path 지정  Build -> Rebuild Solution 클릭 후 Batch Build 클릭 실행 파일 ..
TI 명령어 #define EINT __asm(" clrc INTM") // 전역 인터럽트 on#define DINT __asm(" setc INTM") // 전역 인터럽트 off#define ERTM __asm(" clrc DBGM") // 리얼타임 디버깅 전역 인터럽트 on#define DRTM __asm(" setc DBGM") // 리얼타임 디버깅 전역 인터럽트 off#define EALLOW __asm(" EALLOW") // protected 영역 보호 해제#define EDIS __asm(" EDIS") // protected 영역 보호#define ESTP0 __asm(" ESTOP0") // 에뮬레이션 stop   - DINTDisable Global Interrupt  - HWREGH(x)..