微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 在定时器中使用using 出现的问题?好无语

在定时器中使用using 出现的问题?好无语

时间:10-02 整理:3721RD 点击:
       在使用定时器2的时候(芯片为STC90C516RD+),设置为重载模式,发现定时器中断只运行一次,代码检查了N次确认无误。最后发现void t2_isr() interrupt 5 using 1的变量占了9字节,内存不足,后来优化代码后正常。可是为什么内存不足会影响定时器的中断呢?不懂,请教。


C51单片机的主程序入口从0000H到0002H程序跳转入口,汇编中可以看到程序第一句是个跳转  .    中断入口从跟随从0003H到000AH是外部中断0入口,0000BH到0012H是定时器0入口。都是8字节的中断入口,STC的单片机不止定时器T2,后面还有中断,所以9字节就占用了下一个中断的入口了,如果下一个中断没有定义,就可以占用

using 0 是第0组寄存器;内部RAM地址00H-07H,using 1 是第1组寄存器;内部RAM地址08H-0FH,1个8字节的寄存器能装9字节的内容吗?

你好!1个8字节的寄存器装不了9字节的内容,多出来的一个字节内容是丢失了吗?还是因为系统要为多出来的字节安排地址,而我又指定了USING 0,无法提供多余的存储地址,所以就相当于卡住了?我这样理解不知道对不对。

有人赐教吗?别都忙着赚钱啊。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top