一直用汇编首次用PICC遇到以下问题,望请各路高手帮忙!
个人认为1,C语言基础太弱;2,对CONST不了解,3,不确定是不是FONT存储到程序段是不是要选BANK。
一、《main.c》程序:
int main(void)
{
LCDInit();
putstr(30,5,"RonView"); //这是被警告的15行
putstr(10,1,"STC12C5A60S2"); //这是被警告的16行
delay(30000);
cls();
SHOW_BMP();
delay(30000);
cls();
LCD_write_chinese_string(0,7,12,7,0,0);
LCD_write_chinese_string(0,5,12,7,7,0);
LCD_write_chinese_string(0,3,12,7,14,0);
LCD_write_chinese_string(0,1,12,7,21,0);
while(1);
}
二、其他程序片段:
const unsigned char FONT[]= // ASCII
{
0x00,0x00,0x00,0x00,0x00, // - -
0x00,0x00,0x5F,0x00,0x00, // -!-
0x00,0x07,0x00,0x07,0x00, // -"-
0x14,0x7F,0x14,0x7F,0x14, // -#-
0x24,0x2E,0x7B,0x2A,0x12, // -$-
0x23,0x13,0x08,0x64,0x62, // -%-
0x36,0x49,0x56,0x20,0x50, // -&-
0x00,0x04,0x03,0x01,0x00, // -'-
0x00,0x1C,0x22,0x41,0x00, // -(-
0x00,0x41,0x22,0x1C,0x00, // -)-
0x22,0x14,0x7F,0x14,0x22, // -*-
0x08,0x08,0x7F,0x08,0x08, // -+-
0x40,0x30,0x10,0x00,0x00, // -,-
0x08,0x08,0x08,0x08,0x08, // ---
0x00,0x60,0x60,0x00,0x00, // -.-
0x20,0x10,0x08,0x04,0x02, // -/-
0x3E,0x51,0x49,0x45,0x3E, // -0-
0x00,0x42,0x7F,0x40,0x00, // -1-
0x62,0x51,0x49,0x49,0x46, // -2-
0x21,0x41,0x49,0x4D,0x33, // -3-
0x18,0x14,0x12,0x7F,0x10, // -4-
0x27,0x45,0x45,0x45,0x39, // -5-
0x3C,0x4A,0x49,0x49,0x31, // -6-
0x01,0x71,0x09,0x05,0x03, // -7-
0x36,0x49,0x49,0x49,0x36, // -8-
0x46,0x49,0x49,0x29,0x1E, // -9-
0x00,0x36,0x36,0x00,0x00, // -:-
0x40,0x36,0x36,0x00,0x00, // -;-
0x08,0x14,0x22,0x41,0x00, // -<-
0x14,0x14,0x14,0x14,0x14, // -=-
0x00,0x41,0x22,0x14,0x08, // ->-
0x02,0x01,0x59,0x05,0x02, // -?-
0x3E,0x41,0x5D,0x55,0x5E, // -@-
0x7C,0x12,0x11,0x12,0x7C, // -A-
0x7F,0x49,0x49,0x49,0x36, // -B-
0x3E,0x41,0x41,0x41,0x22, // -C-
0x7F,0x41,0x41,0x41,0x3E, // -D-
0x7F,0x49,0x49,0x49,0x41, // -E-
0x7F,0x09,0x09,0x09,0x01, // -F-
0x3E,0x41,0x51,0x51,0x72, // -G-
0x7F,0x08,0x08,0x08,0x7F, // -H-
0x00,0x41,0x7F,0x41,0x00, // -I-
0x20,0x40,0x41,0x3F,0x01, // -J-
0x7F,0x08,0x14,0x22,0x41, // -K-
0x7F,0x40,0x40,0x40,0x40, // -L-
0x7F,0x02,0x0C,0x02,0x7F, // -M-
0x7F,0x04,0x08,0x10,0x7F, // -N-
0x3E,0x41,0x41,0x41,0x3E, // -O-
0x7F,0x09,0x09,0x09,0x06, // -P-
0x3E,0x41,0x51,0x21,0x5E, // -Q-
0x7F,0x09,0x19,0x29,0x46, // -R-
0x26,0x49,0x49,0x49,0x32, // -S-
0x01,0x01,0x7F,0x01,0x01, // -T-
0x3F,0x40,0x40,0x40,0x3F, // -U-
0x1F,0x20,0x40,0x20,0x1F, // -V-
0x7F,0x20,0x18,0x20,0x7F, // -W-
0x63,0x14,0x08,0x14,0x63, // -X-
0x03,0x04,0x78,0x04,0x03, // -Y-
0x61,0x51,0x49,0x45,0x43, // -Z-
0x7F,0x7F,0x41,0x41,0x00, // -[-
0x02,0x04,0x08,0x10,0x20, // -\-
0x00,0x41,0x41,0x7F,0x7F, // -]-
0x04,0x02,0x7F,0x02,0x04, // -^-
0x08,0x1C,0x2A,0x08,0x08, // -_-
0x00,0x00,0x01,0x02,0x04, // -`-
0x24,0x54,0x54,0x38,0x40, // -a-
0x7F,0x28,0x44,0x44,0x38, // -b-
0x38,0x44,0x44,0x44,0x08, // -c-
0x38,0x44,0x44,0x28,0x7F, // -d-
0x38,0x54,0x54,0x54,0x08, // -e-
0x08,0x7E,0x09,0x09,0x02, // -f-
0x98,0xA4,0xA4,0xA4,0x78, // -g-
0x7F,0x08,0x04,0x04,0x78, // -h-
0x00,0x00,0x79,0x00,0x00, // -i-
0x00,0x80,0x88,0x79,0x00, // -j-
0x7F,0x10,0x28,0x44,0x40, // -k-
0x00,0x41,0x7F,0x40,0x00, // -l-
0x78,0x04,0x78,0x04,0x78, // -m-
0x04,0x78,0x04,0x04,0x78, // -n-
0x38,0x44,0x44,0x44,0x38, // -o-
0xFC,0x24,0x24,0x24,0x18, // -p-
0x18,0x24,0x24,0x24,0xFC, // -q-
0x04,0x78,0x04,0x04,0x08, // -r-
0x48,0x54,0x54,0x54,0x24, // -s-
0x04,0x3F,0x44,0x44,0x24, // -t-
0x3C,0x40,0x40,0x3C,0x40, // -u-
0x1C,0x20,0x40,0x20,0x1C, // -v-
0x3C,0x40,0x3C,0x40,0x3C, // -w-
0x44,0x28,0x10,0x28,0x44, // -x-
0x9C,0xA0,0xA0,0x90,0x7C, // -y-
0x44,0x64,0x54,0x4C,0x44, // -z-
0x08,0x36,0x41,0x00,0x00, // -{-
0x00,0x00,0x77,0x00,0x00, // -|-
0x00,0x00,0x41,0x36,0x08, // -}-
0x08,0x04,0x08,0x10,0x08, // -~-
0x55,0x2A,0x55,0x2A,0x55, // --
};
void pputch(unsigned char x, unsigned char y, unsigned int ch)
{
unsigned char i;
send_cmd(Set_X_Address,x);
send_cmd(Set_Y_Address,y);
for(i=0;i<5;i++)
send_dat(FONT[(ch-0x20)*5+i]);
}
void putstr(unsigned char x, unsigned char y, char *str)
{
while(*str!=0)
{
pputch(x,y,*str++);
x=x+6;
}
}
三、错误信息:
Warning [359] G:\Program Case\VA TEST\Program\LCD DEMO\main.c; 15.22 illegal conversion between pointer types
pointer to const unsigned char -> pointer to unsigned char
Warning [359] G:\Program Case\VA TEST\Program\LCD DEMO\main.c; 16.27 illegal conversion between pointer types
pointer to const unsigned char -> pointer to unsigned char
HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.83
Copyright (C) 2011 Microchip Technology Inc.
(1273) Omniscient Code Generation not available in Lite mode (warning)
Error [1347] ; 0. can't find 0x7A7 words (0x7a7 withtotal) for psect "stringtext" in class "STRCODE" (largest unused contiguous range 0x7FF)
|
|