关于无字库12864显示模块中指针应用的一些想法在实践中出了问题,求高手指导。

tiankongzhiyu5141 2013-06-09 10:24:47
加精
这是我的一个设想:


要显示0-9个几个阿拉伯数字,我把所有的0-9的所有点阵数组存为一个二维数组。
如:
x[][16]={{/*0的数组*/},{/*1的数组*/},{/*二的数组*/},{/*三的数组*/},{/*数组*/}....}
这里我省略了数组内容。。。
如果要调用某个数的数组只要改变二维数组的第一个编号就行了(即下面形参i
通过这样来显示0-9的数字在屏幕上

显示字符函数:(其他的函数没问题我没贴出来)
void showchar(uchar ping,uchar ye,uchar lie,uchar i,uchar *p)
{
uchar n;
Display(ping);//屏幕选择
Page(ye);//页选择
column(lie);//列选择
for(n=0;n<8;n++)
{
Data(p[i][n]);
}
Page(ye+1);
column(lie);
for(n=0;n<8;n++)
{
Data(p[i][n+8]);
}
}
例如:在屏幕第一行第一个字符位置显示从0跳到9
for(i=0;i<10;n++)
{
showchar(1,0,0,0,i);
delay(10);
}
但是在编译的时候keil2报错了。
错误代码:
LCD_12864.C(102): error C216: subscript on non-array or too many dimensions
我想知道我的这种调用方法是否正确?
如果不正确,那又有哪些显示方法。
如果在论坛里说不清,请大神留下QQ我们私聊。
我是一个初学者还有很多东西不懂,请大神们多多的教我谢谢!!!

...全文
2047 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011175425 2013-06-23
  • 打赏
  • 举报
回复
我也搞不清楚啊 顶顶
滷味-Lee 2013-06-22
  • 打赏
  • 举报
回复
牛 牛 牛 牛 牛 牛 牛 牛 牛 牛
u011106196 2013-06-17
  • 打赏
  • 举报
回复
牛 牛 牛 牛 牛 牛 牛 牛 牛 牛
u011102060 2013-06-17
  • 打赏
  • 举报
回复
牛人 牛人啊
mbugaifc 2013-06-16
  • 打赏
  • 举报
回复
u011073181 2013-06-15
  • 打赏
  • 举报
回复
学了,高手如云呀!
暗夜妖瞳 2013-06-15
  • 打赏
  • 举报
回复
表示完全看不懂啊
u011078323 2013-06-15
  • 打赏
  • 举报
回复
不错不错~~~~~~~~·
u011039132 2013-06-15
  • 打赏
  • 举报
回复
不错不错~~~~~~~~·
palleexu 2013-06-15
  • 打赏
  • 举报
回复
好想法!学习了。
鬼门关 2013-06-14
  • 打赏
  • 举报
回复
都是高手
zcts203911 2013-06-14
  • 打赏
  • 举报
回复
都是高手!!!
赵4老师 2013-06-14
  • 打赏
  • 举报
回复
仅供参考
#include <stdio.h>
char *m[77]={
"      ",
"      ",
"      ",
"  --- ",
"      ",
"      ",
"      ",
"  --- ",
" |   |",
" |   |",
" |   |",
" |   |",
" |   |",
"  --- ",
"      ",
"     |",
"     |",
"     |",
"     |",
"     |",
"      ",
"  --- ",
"     |",
"     |",
"  --- ",
" |    ",
" |    ",
"  --- ",
"  --- ",
"     |",
"     |",
"  --- ",
"     |",
"     |",
"  --- ",
"      ",
" |   |",
" |   |",
"  ---|",
"     |",
"     |",
"      ",
"  --- ",
" |    ",
" |    ",
"  --- ",
"     |",
"     |",
"  --- ",
"  --- ",
" |    ",
" |    ",
" |--- ",
" |   |",
" |   |",
"  --- ",
"  --- ",
"     |",
"     |",
"     |",
"     |",
"     |",
"      ",
"  --- ",
" |   |",
" |   |",
" |---|",
" |   |",
" |   |",
"  --- ",
"  --- ",
" |   |",
" |   |",
"  ---|",
"     |",
"     |",
"  --- ",
};
char s[11];
char p[7][67];
int d,y,x,r,c,L;
void LEDprint(int num) {
    L=sprintf(s,"%d",num);
    for (c=0;c<L;c++) {
        for (y=0;y<7;y++) {
            sprintf(p[y]+c*6,"%s",m[((s[c]!='-')?s[c]-'0'+1:0)*7+y]);
        }
    }
    for (y=0;y<7;y++) printf("%s\n",p[y]);
}
int main() {
    scanf("%d",&d);
    LEDprint(d);
    return 0;
}
//-1234567890
//              ---   ---         ---   ---   ---   ---   ---   ---
//           |     |     | |   | |     |         | |   | |   | |   |
//           |     |     | |   | |     |         | |   | |   | |   |
//  ---      |  ---   ---   ---|  ---  |---      | |---|  ---| |   |
//           | |         |     |     | |   |     | |   |     | |   |
//           | |         |     |     | |   |     | |   |     | |   |
//              ---   ---         ---   ---         ---   ---   ---
//
nettman 2013-06-13
  • 打赏
  • 举报
回复
Mafait 2013-06-13
  • 打赏
  • 举报
回复
不错值得学习。
超粘 2013-06-13
  • 打赏
  • 举报
回复
学习了 谢谢
tianyigea 2013-06-13
  • 打赏
  • 举报
回复
youhao1999 2013-06-12
  • 打赏
  • 举报
回复
路过帮顶。。。。。。。。。。。。
aafdsfewfe 2013-06-12
  • 打赏
  • 举报
回复
学习了。。。
u011031566 2013-06-11
  • 打赏
  • 举报
回复
我也搞不清楚啊 顶顶
加载更多回复(4)

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧