[PIC®/AVR®/dsPIC®产品] PIC18系列单片机使用大量RAM出问题

[复制链接]
2497|44
supernan 发表于 2022-3-4 20:17 | 显示全部楼层
前面定义成const型,
显示的时候读到显示RAM里面,
显示ram可以很小
huangchui 发表于 2022-3-4 20:19 | 显示全部楼层
const 显示更不行
现在换平台了,STM23F103 ,移植过去,显示正常。
之前一直是PIC的最忠诚的用户,5年之后,这次浪费了一个半月,被迫放弃PIC。
伤心!
差点丢了工作。唉!

满满的都是泪啊!
yszong 发表于 2022-3-4 20:22 | 显示全部楼层
const显示为何会不行??
renyaq 发表于 2022-3-4 20:25 | 显示全部楼层
几乎所有的关于LCD的显示都是,需要显示的内容定义成CONST型。
xxrs 发表于 2022-3-4 20:27 | 显示全部楼层
PIC16都可以,何况PIC18???
wyjie 发表于 2022-3-4 20:29 | 显示全部楼层
const unsigned char  **1[16] = "电动机智能控制器";
const unsigned char  **2[16] = "      V1.0     ";
const unsigned char  **3[16] = "    河北XXXX    ";
const unsigned char  **4[16] = "XXXXXXXX有限公司";

unsigned char dispBuf[16];
unsigned char i;

//显示第1行
for(i = 0; i< 16; i++)
    dispBuf = **1;
dispLcd(0,0,dispBuf);

//显示第2行
for(i = 0; i< 16; i++)
    dispBuf = **1;
dispLcd(1,0,dispBuf);

//显示第3行
for(i = 0; i< 16; i++)
    dispBuf = **2;
dispLcd(2,0,dispBuf);

//显示第4行
for(i = 0; i< 16; i++)
    dispBuf = **3;
dispLcd(3,0,dispBuf);

这样不行吗?
stly 发表于 2022-3-4 20:31 | 显示全部楼层
如果因此要换平台,真的要好好反思一下了。
renyaq 发表于 2022-3-4 20:34 | 显示全部楼层
如果PIC18都不能驱动LCD,
MICROCHIP早就应该倒闭
zhanghqi 发表于 2022-3-4 20:36 | 显示全部楼层
想想,那么多人都可以,自己不可以,
就更改自己把问题解决掉
jlyuan 发表于 2022-3-4 20:39 | 显示全部楼层
unsigned char xxx[xx]
然后初始化的时候memcpy (xxx,"初始化内容",lengthof("初始化内容"));
应该就可以了
renyaq 发表于 2022-3-4 20:42 | 显示全部楼层
你确定吗?像如果对于大数组的话,你这个初始化函数要怎么写???
supernan 发表于 2022-3-4 20:44 | 显示全部楼层
大数组?多大?
zhanghqi 发表于 2022-3-4 20:53 | 显示全部楼层
我做过几k byte的数组初始化,一般这里用memcpy的不会很大,虽然很大也可以做。
stly 发表于 2022-3-4 20:55 | 显示全部楼层
单片机实际使用中,大数组要么全填充0,要么存eprom
 楼主| heweibig 发表于 2022-3-4 20:57 | 显示全部楼层
几十K甚至几M的数据强行放代码区那是纯粹和bom cost 过不去。
 楼主| heweibig 发表于 2022-3-4 21:00 | 显示全部楼层
多谢大家讨论这么多哈
pzsh 发表于 2022-3-5 09:12 | 显示全部楼层
先显示一个字符调试下,看看输出的时序和字符有没有差别
tpgf 发表于 2022-4-2 19:53 | 显示全部楼层
是不是全局变量多了啊
drer 发表于 2022-4-2 20:00 | 显示全部楼层
你的变量太多了吧
coshi 发表于 2022-4-2 20:10 | 显示全部楼层
还是用临时变量比较好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部