可重入函数 可重入函数可以在同一个时刻由多个进程共享。当一个进程正在执行一个可重入函数,另一个进程可以中断该进程,并可以开始执行同一个可重入函数,而不影响函数的运行结果。 ANSI C 语言中,调用函数时会把函数的参数和函数中使用的局部变量入栈。 因为8051 内部堆栈空间的限制,为了提高效率,C51 没有提供这种堆栈,而是提供一种压缩栈。每个函数有一个给定存储空间,用于存放局部变量。函数中的每个变量都存放在这个空间的固定位置。当递归调用该过程时会导致变量被覆盖,所以通常情况下CX51中的函数是不能重入的。 为此必须使用reentrant函数属性来声明函数是可重入的。格式如下: 函数类型 函数名(形式参数列表) reentrant 与不可重入函数的参数传递和局部变量的存储分配方法不同,C51编译器为再入函数生成一个模拟栈,通过这个模拟栈来完成参数传递和存放局部变量。这样每次函数调用时的局部变量都会被单独保存,再入函数一般占用较大的内存空间,运行起来也比较慢,并且不允许传递bit 类型的变量,也不能定义局部位变量。 可重入函数经常在实时应用系统中应用,也可在中断函数和非中断函数同时调用同一个函数时使用。 规定函数使用的寄存器组 8051单片机的内部存储器的低32个字节被划分成4个寄存器组,每个寄存器组8个寄存器。寄存器组可以通过PSW中的两个位进行选择,任何时刻仅有一个寄存器组处于
您可能关注的文档
- 5贸易条约与协定和世界贸易组织资料.ppt
- 第四章贸易术语与相关的国际惯例资料.ppt
- 钢化玻璃基础培训资料.ppt
- 2015-2016高考历史专题五走向世界的资本主义市场人民版必修2(104张幻灯片)资料.ppt
- 第四章内存储器接口的基本技术资料.ppt
- 钢结构的检测资料.ppt
- 第四章票据法资料.ppt
- 2015-2016高中物理第2章第6节气体状态参量课件粤教版选修3-3资料.ppt
- 第四章期货交易制度与期货交易流程资料.ppt
- 2015-2016学年八年级数学上册5.4应用二元一次方程组-增收节支课件(新版)北师大版资料.ppt
- Beosin Web3安全报告行业-38页.docx
- AI行业跟踪报告之二:ChatGPT开启AI发展新浪潮,算力紧缺和海量应用驱动AI硬件广阔空间-230215.docx
- GPT已拉开AIGC技术革命序幕:海外为鉴,看国内大模型与终端应用投资机会-国信证券-2023.5.5-52页(1).docx
- GPT已拉开AIGC技术革命序幕:海外为鉴,看国内大模型与终端应用投资机会-国信证券-2023.5.5-52页.docx
- ChatGPT开启AI新纪元,AIGC投资框架梳理-中国银河-20230217.docx
- AI应用进入落地期,+AI游戏、AI营销.docx
- ChatGPT过去现在与未来.docx
- ChatGPT的前世今生行业研究报告.docx
- A股核心产业赛道述评月刊(第13期):AIGC与ChatGPT,为什么火了?.docx
- Can ChatGPT Forecast Stock Price Movements Return Predictability and Large Language Models行业研究报告.docx
原创力文档

文档评论(0)