본문 바로가기

728x90

코딩 테크닉/C 코드 테크닉

(2)
CAN 통신에서 자동차 속도값 읽는 방법 CAN(Controller Area Network) 통신 패킷에서 데이터는 CANopen, SAE J1939를 준수하지만 제조사마다 약간 다르게 표현하는 경우가 많다.CAN으로 자동차에서 들어오는 8바이트 데이터 패킷에서 만약 자동차의 속도 100km/h를 표현하려면 어떻게 읽어야할까? CAN에서 데이터 형식 정의를 확인해야 한다. 데이터 형식의 정의는 '특정 형식'과 '스케일링값'을 의미한다.일반적으로는 정의된 배율 인수(인자값)를 사용하여 km/h, mph 또는 m/s와 같이 같은 속도값이라고 하더라도 작은 단위로 속도를 표시하는 경우도 있다.바이트 순서, 데이터 유형(int형 또는 float형)  데이터가 '빅엔디안'으로 표현되는지 또는 '리틀엔디안'으로 표현되는지바이트 순서를 확인해야 한다.데이터..
C++ 연산자 오버로딩 연산자 오버로딩(Operator Overloading) :: ㄴ 객체 지향 언어에서 사용되는 개념임. ㄴ 기존의 연산자를 클래스나 구조체 등의 사용자 정의 타입에 맞게 재정의함. ㄴ 사용자 정의 타입의 객체들간의 연산을 수행할 수 있음. #include class Vector2D { private: double M = 77.20; double N = 44.52; public: double x; double y; Vector2D(double x_data, double y_data) : x(x_data), y(y_data) {} Vector2D operator+(const Vector2D& other) const { return Vector2D(x + other.x, y + other.y); } double..

728x90