|
我做了个LCD12864的显示程序,字库定义为unsigned char是编译通过,显示正常,可定义为__flash unsigned char时,编译通不过,提示为“
Error[Pe167]: argument of type "unsigned char __flash *" is incompatible with parameter of type "unsigned char *",编译器为iar for avr5.11b
例如__flash unsigned char ziku[]={xxxxxxxxxxxxxxxx}; 就通不过
而 unsigned char ziku[]={xxxxxxxxxxxxx};就显示正常;
部分函数如下:
//字符显示函数:page 页,row 列,ptr 显示数据指针,numb 显示字符数量,cs片选,e_c中文或英文
void putchar(uchar page,uchar row, uchar *ptr, uchar numb,uchar cs,uchar e_c)
{
uchar i,j,cnt;
for (i=0;i<numb;i++)
{
if (e_c==1)
cnt=8;
else
cnt=16;
for (j=0;j<cnt;j++)
{
if (cs==2)
{
if (row>127)
{cs=1; row=row-128; page+=2;}
}
if (cs==1)
{
if (row>127)
{cs=2; row=row-128;}
}
lcdSetPage(page); lcdSetRow(row);
lcdWrite(*ptr,cs); ptr++; page++;
lcdSetPage(page); lcdSetRow(row);
lcdWrite(*ptr,cs); ptr++;page--;row++;
}
}
}
调用函数:如 putchar(0,0,&ziku[0],2,1,1) 在0页0行显示ziku中的两个英文字符 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|