05 2016 档案
摘要:函数的局部变量,都是存放在"栈"里面,栈的英文是:STACK.STACK的大小,我们可以在stm32的启动文件里面设置,以战舰stm32开发板为例,在startup_stm32f10x_hd.s里面,开头就有:Stack_Size EQU 0x00000800表示栈大小是0X800,也就是2048字
阅读全文
摘要:程序分为:代码区、数据区、bss区、堆区、栈区。平时常用区分的是代码区、堆区、栈区。下面加上例子区分一下。 程序分为:代码区、数据区、bss区、堆区、栈区。平时常用区分的是代码区、堆区、栈区。下面加上例子区分一下。 3 代码区顾名思义就是存放代码的,里面的内容是不可以修改的。例如你定义了一个变量ch
阅读全文
摘要:结构体的数据类型的有点我们就不啰嗦了,直接来看相同数据结构体的几种书写的格式吧。 格式一: [cpp] view plain copy 01.struct tagPhone 02.{ 03. char A; 04. int B; 05. short C; 06.}Phone; [cpp] view
阅读全文
摘要:一个程序本质上都是由 BSS 段、data段、text段三个组成的。这样的概念在当前的计算机程序设计中是很重要的一个基本概念,而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。 BSS段:在采用段式内存管理的架构中,BSS段(bss segment
阅读全文
摘要:当 pend请求发出的时候信号量的值减1,当post的时候信号量的值加1,信号量的值0跟1分别是用来同步跟互斥的,什么是同步,什么是互斥呢。。。假设你把信号量的值设为0,有A,B连个任务,当A发出pend请求的时候它发现此事的信号量值为0就把它减1然后挂起等待,等待到什么时候呢?等待任务B执行pos
阅读全文
摘要:有时候,如果任务A拥有内存缓冲区或信号量之类的资源,而任务B想删除该任务,这些资源就可能由于没被释放而丢失。在这种情况下,用户可以想法子让拥有这些资源的任务在使用完资源后,先释放资源,再删除自己。用户可以通过OSTaskDelReq()函数来完成该功能。 函数名 OSTaskDelReq 参数 Pr
阅读全文
摘要:RTC 的原理都是一样的,但计数过程中的计数换算却不相同: ARM9 直接出来的是BCD 码,也就是0x30 就是30秒,没有换算了,而ARM7则不同,他是直接计数的,十进制的30秒则是0x1E,,,,
阅读全文
摘要:在我们的编译器,我用的是ADS 开发平台,现在RTC模块编程时,2410作为上位机,如下代码: n = rBCDDATE;if(n==1) time->day =0x31 ; 波斯历的日期与我们的不同,他们是123456月31天,789 10 11 月30天,12月29或28天天,因此与我们的RTC
阅读全文
摘要:在建立工程的时候,启动任务StartTask() 启动了任务MyTask(),也建立了消息队列,然后发送消息队列,发送完自己删除了自己,在接收方一直能接受到数据???为何??? 因为我们的消息队列未清空,消息队列里面一直有数据呢,当然在执行MyTask 的任务的时候, MyTask 里面有这句等待消
阅读全文
摘要:1、新建立的消息队列,两个任务通信过程中,一个发送消息队列,另一个任务等待消息队列的 时候,这个过程一定要配套出现,就是按套路出牌。 怎么说????: 假如没有按套路,第一种情况:任务一 OSQPostFront(Str_Q,s100); 发送了,消息队列,勉强程序能跑起来,但这不是 正规出牌套路,
阅读全文
摘要:1. 建立任务和建立数据队列 哪个先建立? 经过试验得知,数据队列和任务的建立先后没有顺序,都可以正常运行. 2.关于主函数的面试问题。 主函数写法有: int main() 和void main() int main() 表示该函数必须有返回值,即程序实现中一定要有return xx;字样void
阅读全文

浙公网安备 33010602011771号