关于PIC单片机串口接收数组数组的问题

PIC单片机C语言编程,数组问题_百度知道
PIC单片机C语言编程,数组问题
各位高手:
我用的是PIC16F877的单片机,使用C语言编程,用来驱动1602的LCD显示器以及完成一些对按健开关的判定和作出相应的反应,因为主要是驱动液晶显示器,所以有大量的文字需要显示。我把所有文字都放在数组中,每个数组有16个字母整个程序中大约有80个左...
我有更好的答案
这需要你考虑单片机自身的rom大小,尽可优化程序,在满足实时性的前提下,减小空间的占用。
单片机的容量是够的,因为我用汇编语言写是能够通过编译的,但客户要求必须用C语言,所以我只好改用C语言,问题是我不太熟悉C语言,不知C语言是否可以满足80几条文字的程序编写?如果可以的话,能否给点提示?应该采用什么方案,谢谢。
不要说是80条了,只要在rom空间满足的情况下,八千八万都没问题,看来你的程序还远没有上规模呢。再补充一句,现在的程序除了一些对时间效率又特殊要求的代码需要用汇编写外,大部分代码还是需要用C来写的。至于C语言的规则,和普通的C其实没有区别,只有对于不同编译工具KEIL ICC IAR等特殊的关键字需要熟悉
谢谢你的帮助,我想问一下在(PIC系列单片机)中如何把数组定位在指定的ROM位置,用什么代码?在汇编语言中是用ORG
***H,在C语言中应该怎样写。谢谢!
如下const char LCD_DISPLAY_DATA[80][16];同时建议你看一些PIC c语言编程知道的数据,不过提前先学习好汇编和C语言!
我是否可以这样理解:const char LCD_DISPLAY_DATA[80][16];其中的[80]指的是80条字符串,[16]指的是每条字符串有16个字母。读取时只要输入指定的下标就可以得到想要的字符串。这样理解对吗?
采纳率:66%
数组越界了
16*80=1280,1k多一点的数据,难道你的RAM这么小?还是仔细检查一下有没有其他错误吧。 另外试试有没有const修饰。
使用CODE定义数据。
code的代码是用在51系列单片机上的,PIC不认得这个代码。
其他1条回答
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。PIC单片机C语言编程实例一_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
PIC单片机C语言编程实例一
&&PIC单片机C语言编程实例
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩9页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢PIC单片机课程期末复习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
PIC单片机课程期末复习题
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩9页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢PIC单片机的大数组RAM分配错误解决
13:19:21来源: eefocus
在编译程序时出现
Error - section '.udata_main.o' can not fit the section. Section '.udata_main.o' length=0x
Errors & &: 1
询问高人得知该错误为分配超过256B。
解决方法为:
1、打开18f452.lkr&&即所选MCU的lkr文件
lkr文件所在位置为:C:\Program Files\Microchip\mplabc18\v3.40\bin\LKR,用记事本打开。
其关于RAM分配的为
ACCESSBANK NAME=accessram &START=0x0 & & & & & &END=0x7F
DATABANK & NAME=gpr0 & & & START=0x80 & & & & & END=0xFF
DATABANK & NAME=gpr1 & & & START=0x100 & & & & &END=0x1FF
DATABANK & NAME=gpr2 & & & START=0x200 & & & & &END=0x2FF
DATABANK & NAME=gpr3 & & & START=0x300 & & & & &END=0x3FF
DATABANK & NAME=gpr4 & & & START=0x400 & & & & &END=0x4FF
DATABANK & NAME=gpr5 & & & START=0x500 & & & & &END=0x5FF
ACCESSBANK NAME=access &START=0xF80 & & & & &END=0xFFF & & & & &PROTECTED
SECTION & &NAME=CONFIG & & ROM=config
STACK SIZE=0x100 RAM=gpr5
2、将其中gpr0范围改为START=0x80 & & & & &END=0x4FF
DATABANK & NAME=gpr0 & & & START=0x80 & & & & & END=0x4FF
其余屏蔽即可。gpr5为堆栈地址,不做修改。
3、重新编译,OK~~
关键字:&&&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 单片机数组 的文章

 

随机推荐