const 함수

C++
함수가 클래스의 멤버인 경우에만 const 키워드를 함수 선언 뒤에 삽입할 수 있다.
함수 선언 뒤(body 직전)에 "const" 키워드를 삽입하면, 해당 함수가 속한 객체의 멤버를 변경할 수 없다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MyClass{
    int x;
public:
    MyClass()    {x=0;}
 
    void foo1() const
    {
        //x=1; // 변경시 에러 발생!
        printf("%d",x);    // 접근은 가능
    };
 
    void foo2()
    {
        x=1;    // OK
        printf("%d",x);    // OK
    };
};


'C++' 카테고리의 다른 글

복사생성자와 대입연산자  (0) 2014.11.06
const 의미  (0) 2014.10.13
랜드함수  (0) 2014.10.06
by 날라차숑 2014. 10. 27. 11:06

CRC16값을 쉽게 넣어봅시다.

-------------------------------------------------------------------------------------------

함수본체

void *를 인자를 받아서 CRC16값을 만들기 위함

((unsigned char *)DATA)로 형변환 해줌 (char *로 형변환, 배열의 이름은 어차피주소니까 char 배열과 같음 )

CRC_PRESET과 CRC_POLYNOM은 Char형 변수로 만들지 않고 #define으로 상수로변경 


-------------------------------------------------------------------------------------------

숫자1을 누르면 DEVICE로 데이터가 ucHostComm의 데이터를 보내는데 CRC값을 자동으로 채워주자!

간단하게 정리하면 ucHostComm[0] + ucHostComm[0][0]-2 = CRC16( );

                           아래 배열의 주소 + 첫번째 값0x0D-2 == 원래 주소 +11이다.

이주소값을 다시 short *로 바꾸면 해결( CRC16함수의 반환값이 unsigned short형)

ucHostComm[0][0]이 명령어 전체길이를 알수있어서 가능한 방법



그러면 데이터 시트를 보자.


이명령어를 0~4번배열 까지만 써주면 CRC코드는 5~6번에는 자동바뀌어서 들어가게끔 해놨었다. 



결론: 이명령어를 실행하고, 트랜스폰더(ID카드)를 리더기에 대면 

   호스트에 UID(고유식별자)및 정보가 온다.


------------------------------------------------------------------------

C++



나도 알아요.



'STM32F103ZE' 카테고리의 다른 글

GPIO  (0) 2014.11.12
RCC  (0) 2014.11.12
KEIL5 컴파일러에서 ASSERT_PARAM 때문에 컴파일 못할때  (0) 2014.11.11
dfghdfh  (0) 2014.11.10
by 날라차숑 2014. 10. 16. 17:45

const 의미

C++



'C++' 카테고리의 다른 글

복사생성자와 대입연산자  (0) 2014.11.06
const 함수  (0) 2014.10.27
랜드함수  (0) 2014.10.06
by 날라차숑 2014. 10. 13. 23:31