BASIC4MCU | 8051/PIC | DT-516 강좌 | 휴게소 - 함수와 변수의 외부 참조
페이지 정보
작성자 키트 작성일2017-08-22 14:07 조회1,258회 댓글0건본문
.C 파일과 다른 .C 파일 혹은
.C 파일과 어셈 파일에서
어느 한쪽에서 선언된 함수나 변수를 사용 하는 부분은
어셈은 선언(PUBLIC)과 외부참조(EXTRN)을 모두 표기 해야 합니다.
EXTRN CODE (?C_START) ; 외부참조 함수
EXTRN DATA (?BLOCK_MOVE) ; 외부참조 변수PUBLIC ?C_STARTUP ; PUBLIC은 함수 변수 상관없이 이름만 적어주면 됩니다.(아래에 선언부가 있으니..)
PUBLIC BUZ_BUF,DLY_BUF ; 바이트
PUBLIC KEY_FLG,KOR_FLG ; 비트
C는 자동 PUBLIC이라서 외부참조(extern)만 선언 해주면 됩니다.
extern bit TIME_FLG; // 비트
extern data U_C DLY_BUF,BUZ_BUF; // 바이트
extern void clr_dispbuf(); // 함수
extern CU_C eng_fnt[128][16]; // 코드(플래시) 바이트
extern CU_I hanfnt_m[4][22][16]; // 코드 인티저
함수의 인수와 리턴은
데이터형과 메모리모델등을 모두 잘 알고 사용 해야 하므로
(mcu마다, 컴파일러마다, os마다 모두 같지 않습니다.)
편하게 쓰려면
전역변수를 사용 해서 데이터를 주고받고, void로 선언 해서 리턴값이나 인수를 사용 하지 않는 것입니다.
댓글 0
조회수 1,258등록된 댓글이 없습니다.