tag 标签: 堆栈

相关博文
  • 热度 22
    2011-12-23 10:22
    1639 次阅读|
    2 个评论
    用C语言进行单片机编程的过程中,肯定大家都些疑问。不同类型的数据是怎么在内存中存储的?堆栈是怎么使用的?哪些数据存在堆栈中?这些疑问到现在为止,我还没有完全明白。偶尔在网上看到一篇讲堆栈的文章就上传上来供网友讨论学习,也希望在此过程中,可以对这些问题有更深的理解!
  • 热度 21
    2011-12-14 21:14
    2966 次阅读|
    0 个评论
    第一,当任务运行时,它用来保存一些局部变量;第二,当任务挂起时,它负责保存任务的运行现场,也就是CPU寄存器的值。有些朋友正是忽视了第一点,产生了“任务堆栈大小应是固定值的疑问”。我感觉,这可能与对函数OSTaskStkInit()的理解有关,我们都称之为堆栈初始化函数,但此处的“初始化”与我们理解的初始化不太一样,平时讲的(变量的)初始化似乎指的是将变量的所有成员都一一初始化。而此处的堆栈的初始化仅仅是初始化了很大一个堆栈的一小部分,因为当前只有这部分是有用的,而剩余的大部分用不到,所以不用初始化,就像有些变量不用初始化一样(有默认值或随机值)。更深入一点考虑,当任务挂起时,任务堆栈中保存任务挂起前CPU寄存器的这一连续的区域肯定在整个堆栈的最上面;当任务重新开始运行时,SP弹出寄存器的值,这段区域变成空白的区域。而且,任务每次挂起前用来保存当前CPU寄存器这一连续区域在整个任务堆栈空间中是浮动的。
相关资源
  • 所需E币: 1
    时间: 2023-4-15 13:54
    大小: 163.2KB
    上传者: 张红川
    利用堆栈实现单片机汇编语言的面向对象设计.pdf
  • 所需E币: 0
    时间: 2021-4-13 16:37
    大小: 38.82KB
    上传者: czdian2005
  • 所需E币: 0
    时间: 2021-3-18 18:55
    大小: 190.6KB
    上传者: xiaosh728
    ZigBee堆栈结构介绍作者:RogelioReynaGarcia/应用工程师/飞思卡尔半导公司引言:ZigBee标准定义了一种堆栈协议,这种协议能够确保无线设备在低
  • 所需E币: 0
    时间: 2021-3-24 18:47
    大小: 190.6KB
    上传者: samewell
    ZigBee堆栈结构介绍ZigBee堆栈结构介绍作者:RogelioReynaGarcia/应用工程师/飞思卡尔半导公司引言:ZigBee标准定义了一种堆栈协议,这种协议能够确保无线设备在低...
  • 所需E币: 0
    时间: 2021-3-25 01:25
    大小: 190.59KB
    上传者: stanleylo2001
    ZigBee堆栈结构介绍ZigBee堆栈结构介绍作者:RogelioReynaGarcia/应用工程师/飞思卡尔半导公司引言:ZigBee标准定义了一种堆栈协议,这种协议能够确保无线设备在低.
  • 所需E币: 0
    时间: 2021-3-23 21:15
    大小: 190.6KB
    上传者: stanleylo2001
    ZigBee堆栈结构介绍
  • 所需E币: 2
    时间: 2021-3-21 18:01
    大小: 190.59KB
    上传者: Goodluck2020
    ZigBee堆栈结构介绍.zip
  • 所需E币: 4
    时间: 2021-3-17 17:31
    大小: 190.6KB
    上传者: czdian2005
    ZigBee堆栈结构介绍.zip
  • 所需E币: 2
    时间: 2020-12-27 23:37
    大小: 190.6KB
    上传者: stanleylo2001
    ZigBee-堆栈结构介绍与技术资料
  • 所需E币: 0
    时间: 2020-12-24 17:17
    大小: 2.31MB
    上传者: samewell
    电池堆栈监控器大幅提高混合动力汽车和电动汽车的锂离子电池性
  • 所需E币: 0
    时间: 2020-12-20 00:01
    大小: 37.9KB
    上传者: samewell
    ZigBee堆栈结构介绍
  • 所需E币: 1
    时间: 2020-12-16 22:11
    大小: 344.76KB
    上传者: sense1999
    一个故事看懂单片机中的堆栈
  • 所需E币: 0
    时间: 2020-9-2 00:02
    大小: 202.48KB
    上传者: Goodluck2020
    ZigBee堆栈结构介绍.pdf
  • 所需E币: 0
    时间: 2020-8-24 23:07
    大小: 202.48KB
    上传者: samewell
    ZigBee堆栈结构介绍.pdf
  • 所需E币: 2
    时间: 2020-6-19 17:58
    大小: 3.38MB
    上传者: Goodluck2020
    电池堆栈监控器大幅提高混合动力汽车和电动汽车的锂离子电池性能.pdf
  • 所需E币: 5
    时间: 2020-6-15 15:05
    大小: 70.5KB
    上传者: samewell
    ZigBee堆栈结构介绍.doc
  • 所需E币: 4
    时间: 2019-12-25 21:16
    大小: 152.5KB
    上传者: 238112554_qq
    下面是ICCAVR软件自带的例子,发光二极管流水灯实验。采用ICCAVR自带的LED项目学习,省去了文件编写及工程创建等一大堆过程。让初学者近快完成第一个实验,等到成功后再来学习一些创建过程及相关设置(先实践再理论)。……
  • 所需E币: 5
    时间: 2019-12-25 21:11
    大小: 58KB
    上传者: 微风DS
    Altera公司的NiosII软核处理器具有完全可定制特性、高性能、较低的产品和实施成本、易用性、适应性以及不会过时等优势。使用NiosII处理器,将不会局限于预先制造的处理器技术,而是根据用户的标准定制处理器,按照需要选择合适的外设、存储器和接口。此外,还可以轻松集成用户专有的功能,使设计具有独特的竞争优势。……
  • 所需E币: 5
    时间: 2019-12-25 12:16
    大小: 217KB
    上传者: quw431979_163.com
    任务管理第4章任务管理14.0建立任务,OSTaskCreate()24.1建立任务,OSTaskCreateExt()64.2任务堆栈94.3堆栈检验,OSTaskStkChk()114.4删除任务,OSTaskDel()144.5请求删除任务,OSTaskDelReq()174.6改变任务的优先级,OSTaskChangePrio()204.7挂起任务,OSTaskSuspend()234.8恢复任务,OSTaskResume()254.9获得有关任务的信息,OSTaskQuery()26任务管理在前面的章节中,笔者曾说过任务可以是一个无限的循环,也可以是在一次执行完毕后被删除掉。这里要注意的是,任务代码并不是被真正的删除了,而只是µC/OS-Ⅱ不再理会该任务代码,所以该任务代码不会再运行。任务看起来与任何C函数一样,具有一个返回类型和一个参数,只是它从不返回。任务的返回类型必须被定义成void型。在本章中所提到的函数可以在OS_TASK文件中找到。如前所述,任务必须是以下两种结构之一:|voidYourTask(void*pdata)||{||for(;;){||/*用户代码*/……
  • 所需E币: 3
    时间: 2019-12-25 10:47
    大小: 217.62KB
    上传者: quw431979_163.com
    C54x的汇编语言程序设计……