这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 51 大容量51芯片的堆栈问题

共2条 1/1 1 跳转至

51 大容量51芯片的堆栈问题

院士
2006-09-17 18:14:16     打赏
51 大容量51芯片的堆栈问题



关键词: 大容量     芯片     堆栈     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 用32K的单片机写比较大的程序时,大侠们一般把堆栈指针初始化为多少呢
我的程序在子程序调用前和子程序里面的数值不一样,会不会是堆栈的问题呢?

Display_Char(cYear_L,0);
Display_Char(cYear_H,0);
Display_Char(Date_BD.cYear,0);
Display_Char(Date_BD.cMonth,0);
Display_Char(Date_BD.cDay,1);
Update_System();

void Update_System(void)
{
Uart_Tran("BD:");
Display_Char(cYear_L,0);
Display_Char(cYear_H,0);
Display_Char(Date_BD.cYear,0);
Display_Char(Date_BD.cMonth,0);
Display_Char(Date_BD.cDay,1);
bFlag_UpdateToClock = 0;
1: 急难道大家没有碰到过这个问题吗 2: 32K的RAM还是ROMROM好像不能这样玩吧?
51的SP只是8位,不能跑出FF的。再说你不要这么多次的调用吧?如果是一些数据的话你自己重建个栈吧 3: 是ROM的51谢谢楼上
一般把SP都初始化为多少呢?
其实我的程序没有几层调用,我就是怕堆栈有问题,可是现在的现象似乎就是堆栈出错了,哈哈。
有那位好心人帮帮小弟了,谢谢

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]