51 단편기 Warning 및 error

20471 단어 단편기
오늘 error를 만났습니다. 아주 고통스러웠습니다. keil은 위치를 정하지 못하고 error에게만 주었습니다.
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  SMALLCHARS
  MODULE:  .\Objects\lcd5110.obj (LCD5110)

SMALLCHARS는 ziku에 개별적으로 정의된 라이브러리입니다.h 파일
code unsigned char SmallChars[]=
{
    0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,//0 0
    0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,//1 
    0x00, 0x42, 0x61, 0x51, 0x49, 0x46,//2 
    0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,//3
    0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,//4
    0x00, 0x27, 0x45, 0x45, 0x45, 0x39,//5
    0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,//6
    0x00, 0x01, 0x71, 0x09, 0x05, 0x03,//7
    0x00, 0x36, 0x49, 0x49, 0x49, 0x36,//8
    0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,//9
    0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,//A 10
    0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,//B
    0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,//C
    0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,//D
    0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,//E
    0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,//F
    0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,//G
    0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,//H
    0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,//I
    0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,//J
    0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,//K
    0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,//L
    0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,//M
    0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,//N
    0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,//O
    0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,//P
    0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,//Q
    0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,//R
    0x00, 0x46, 0x49, 0x49, 0x49, 0x31,//S
    0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,//T
    0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,//U
    0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,//V
    0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,//W
    0x00, 0x63, 0x14, 0x08, 0x14, 0x63,//X
    0x00, 0x07, 0x08, 0x70, 0x08, 0x07,//Y
    0x00, 0x61, 0x51, 0x49, 0x45, 0x43,//Z 35

    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// 36 ¿Õ¸ñ
    0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// : 37
    0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// - 38
    0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// / 39
    0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// . 40
    0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// , 41
    0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^ 42
    0x08, 0x08, 0x08, 0x2A, 0x1C, 0x08,// -> 43

    0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a 44
    0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b
    0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c
    0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d
    0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e
    0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f
    0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g 
    0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h
    0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i
    0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j
    0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k
    0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l 
    0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m
    0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n
    0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o
    0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p
    0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q
    0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r
    0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s
    0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t
    0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
    0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
    0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
    0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x
    0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y
    0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 // z 69
};

이어서 lcd5110.c에 ziku가 포함되어 있습니다.h 파일, SmallChars 배열을 사용한 후 오류가 발생했습니다.이것은 32에서 직접 이식한 것이고 32에서 문제가 없지만 51은 바로 error이다. 나는 어떻게 여러 번 정의할 수 있는지 모르겠다.나중에 구글에서 봤는데 51은 헤더 파일을 포함하는 방식으로 파일의 전역 변수를 사용할 수 없기 때문에 extern 키워드를 통해서만 지쿠를 사용할 수 있습니다.h에서 정의한 전역 변수는lcd5110.c 파일에서 사용합니다.번역해 보니까 됐어.
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?_OLED_WRITE_NUM4?OLED

위의 것은 경고입니다. 일반적인 경고는 무시하지만 보기 불편해서 구글에 왔습니다. 위의 뜻은 제가 OLED 를 정의했음을 의미합니다.WRITE_NUM4라는 함수는 실행하는 동안 사용되지 않았습니다.어...이런 경고는 우리가 불필요한 코드를 삭제하고 코드의 크기를 줄이기 위해서일 수도 있다고 나는 추측한다.

좋은 웹페이지 즐겨찾기