关于AVR CSTACK和RSTACK的总结

发布者:HappyExplorer最新更新时间:2017-11-26 来源: eefocus关键字:AVR  CSTACK  RSTACK 手机看文章 扫描二维码
随时随地手机看文章

首先声明: ICC 自动分配RAM    IAR可手动分配RAM
提个醒:程序用到大数组时,一定要注意 RAM分配问题
1、RSTACK: 存储 程序调用返回地址     IAR设置单位为字 (软件中默认)16字 占用32个字节;
例: 16     16层中断函数嵌套;  //中断出问题一般是 RSTACK的问题。
2、CSTACK:局部变量存储区域 所有子函数的局部变量从该堆栈申请,用完还回;
    程序中用到大数组时,要考虑CSTACK的设置
可以这么理解:
RAM= CSTACK+RSTACK+全局变量;

遇到的问题:
      AVR  MEGA8515L OPTION-Target 中memory mode 选的 tiny,提示 RAM溢出,需设置更小的CSTACK或者RSTACK给其腾出更多的空间; 更改memory mode 选得small,编译过了。(本以为问题通过修改memory解决了,但严重的BUG却出现在这里,能够读取温度传感器温度,但是与标准温度相差3℃ ,用了两天时间,查找问题的原因,最终:memory修改回 tiny模式,把常量数组全写到FLASH中,编译通过,解决了该问题 )。
  只能说这款单片机太落后,MEGA88PA等,memory模式直接是 small模式
       1K的RAM确实比512Byte的RAM要好关于AVR <wbr>CSTACK和RSTACK的总结关于AVR <wbr>CSTACK和RSTACK的总结!!!!

关键字:AVR  CSTACK  RSTACK 引用地址:关于AVR CSTACK和RSTACK的总结

上一篇:关于PWM和精确延时输出的方波
下一篇:AVR单片机IO端口操作方法

推荐阅读最新更新时间:2024-03-16 15:46

AVR单片机(ATmega16L)DS18B20温度传感器驱动程序
在DALLAS网站上下个英文版的datasheet,从第一行开始看,看着看着,感觉非常惊奇,不像我当初想当然的觉得那么难理解啊,除了个别单词不认识,整体上能看出大概意思,装了个金山词霸,不会的单词马上查,发现也不是很费劲的事儿。以前打开个英文的datasheet,看着密密麻麻的英语句子,看都没看就觉得头大,以前实在是太先入为主了,自己还是太浮躁,没有静下心来,认真的看一看。决定以后下芯片资料,直接下原版datasheet。 从头看手册,对照程序完整的看了一遍,发现原因就在写时序上,程序中写字节的函数中有一句:temp_h,与时序图不符,写0时序开始后、DS18B20采样前,并没有拉高数据线,把temp_h注释掉,1602液晶马
[单片机]
<font color='red'>AVR</font>单片机(ATmega16L)DS18B20温度传感器驱动程序
AVR片内TWI总线(I2C总线协议)
/*本程序为八位共阴极数码管且有两个573控制的动态扫描*/ /*此程序为开机记忆,可以每次开机分自动加一。如果加了,说明操作成功*/ /*本程序把24C08的SCL和SDA分别接在MCU的SCL(PC0第22脚)和SDA(PC1第23脚)*/ //24C08的第7脚WP接地 #include iom16v.h #include macros.h //这里面有BIT(),所以要包含 #define uchar unsigned char #define uint unsigned int #pragma data:code //注code的功能是把后面的数据存在程序存贮器中,不用code就放到了随机存贮器中. uchar cons
[单片机]
AVR为核心控制器的可预置程控宽带直流功率放大电路设计
本文采用AVR单片机ATmegal28作为核心控制器,结合10位串行D/A芯片TLC5615、功率运放THS3092、可编程增益运放AD603以及其他相关电路,构成了可预置程控宽带直流功率放大电路。该电路系统增益调节范围为O~60 dB,步进间距为1 dB,频带为DC~10 MHz,输出电压有效值为10 V,矩阵键盘预置增益值步进,点阵液晶显示实时电压有效值,人机界面友好,操作简单方便。 1 系统总体方案 若采用可编程放大的思想,将输入的信号作为高速D/A转换器的基准电压,那么D/A转换器作为一个程控衰减器,对速度的要求很高。同时,为了实现O~60 dB增益可调,势必需要D/A转换器输出衰减最少60 dB以上。假设信号源有效值低于
[单片机]
以<font color='red'>AVR</font>为核心控制器的可预置程控宽带直流功率放大电路设计
AVR开发 Arduino方法(一) 端口子系统
  Arduino UNO R3的主处理器ATMega328P上有3个8位的输入/输出端口,分别是PB,PC和PD。Arduino IDE提供的Blink示例可以帮助我们了解端口的数字输出功能: 1 // Blink.ino 2 int led = 13; 3 4 void setup() { 5 pinMode(led, OUTPUT); 6 } 7 8 void loop() { 9 digitalWrite(led, HIGH); 10 delay(1000); 11 digitalWrite(led, LOW); 12 delay(1000); 13 }   这个示例使Arduino开发
[单片机]
<font color='red'>AVR</font>开发 Arduino方法(一) 端口子系统
AVR 矩阵键盘程序源代码V3.5(有连续按键功能,有组合键功能)
程序特点: 1.有连续按键功能 2.有组合键功能 3.连续按键起始时间和间隔时间自定义 4.可根据需要扩展组合键 使用方法: 将文件 Keypad.h 和 Keypad.c 放入您的工程,将按键需要执行的函数赋值给对应的函数指针 注:需要执行的函数必须为无参数,无返回值 例:您按下A时需要执行以下函数: void fun(void) { printf( 我按下了A ); } 只需执行下列语句 p_Key_A = MenuExit; 并在主循环中调用 KeypadPoll(); 以下是两个文件源码 Keypad.h /******** AVR 4*4矩阵键盘扫描程序 ******** * 版
[单片机]
keil、IAR和GCCAVR对FLASH和EEPROM的操作
1. keil for MSC51 关键字co de co de unsigned char array ={} 2. IAR for AVR(摘抄) FLASH常用类型的具体操作方法 (1) FLASH 区域数据存储。 用关键字 __flash 控制来存放, __ flash 关键字写在数据类型前后效果一样 __flash unsigned char a;//定义一个变量存放在flash空间 unsigned char __flash a;//效果同上 __flash unsigned char p ;//定义一个数组存放在flash空间 对于flash空间的变量的读操作同SRAM数据空间的操作方法一样,编译器会自动用 L
[单片机]
什么是avr单片机
什么是avr单片机 1997年,由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术, 共同研发出RISC精简指令集的高速8位单片机,简称AVR。 单片机又称单片微控制器,它是把一个计算机系统集成到一个芯片上,概括的讲:一块芯片就成了一台计算机。单片机技术是计算机技术的一个分支,是简易机器人的核心元件。 AVR单片机的优点和参数 单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低廉。单片机种类很多,在简易机器人制作和创新中,为什么选用AVR单片机呢? 一、简便易学,费用低廉 首先,
[模拟电子]
什么是<font color='red'>avr</font>单片机
TPMS设计方案的思考
  汽车胎压监视系统(TPMS)主要用于在汽车行驶时实时地对轮胎气压进行自动监测,对轮胎漏气和低气压进行报警,以保障行车安全,是驾车者和乘车人员的生命安全保障预警系统。本文详细介绍了TPMS系统的组成以及器件选择、节能和安装等设计考虑因素。   在汽车的高速行驶过程中,轮胎故障是所有驾驶者最为担心和最难预防的,也是突发性交通事故发生的重要原因。据统计,在高速公路上发生的交通事故有70%-80%是由于爆胎引起的,怎样防止爆胎已成为安全驾驶的一个重要课题。据有关专家的分析,保持标准的车胎气压行驶和及时发现车胎漏气是防止爆胎的关键,而TPMS毫无疑问将是理想的工具。 图1:PSB TPMS系统结构图。   目前,TPMS主要分为
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved