- 博客(9)
- 资源 (8)
- 收藏
- 关注
原创 11.RT-Thread中的事件机制-event
事件是信号量的扩展,在很多情况下可以用事件代替信号量的同步,事件可以一对一、一对多、多对一、多对多。一个线程可等待多个事件的触发:可以是其中任意一个事件唤醒线程进行事件处理的操作;也可以是几个事件都到达后才唤醒线程进行后续的处理;同样,事件也可以是多个线程同步多个事件,这种多个事件的集合可以用一个32位无符号整型变量来表示,变量的每一位代表一个事件,线程通过“逻辑与”或“逻辑或”与一个或多个...
2018-06-24 22:18:00 4729
原创 6.堆(动态内存 heap)的初始化和使用
堆:先进先出 FIFO:First in first out 手动分配、释放栈:后进先出 FILO:First in last out 自动分配释放裸机情况下使用动态内存heap:在启动文件(startup_stm32f103xe.s)中调整:Heap_Size EQU 0x00000200然后用malloc()获取在RT-Thread中,如果在rtconfig.h中定义...
2018-06-14 16:36:15 3827
原创 5.中断和临界区的保护
临界区:访问公共资源的代码,在某一个时刻,只能有一个任务能访问公共资源,独占CPUuint32_t value;任务1funca(){value++;value+=10;}任务2funcb(){value++;}在以上2个任务中,如果任务1运行过程中任务2也运行了,那么得到的value值可能是错误的。uint32_t value;//RT-Thread使用pend_sv中断来进行任务的切换任务1f...
2018-06-14 15:02:26 1878 1
原创 4.空闲任务与钩子函数
CPU使用率的计算,先去统计CPU的空闲率,100%-空闲率=CPU使用率。临界区的概念:临界区有进入和退出操作,在进入临界区和退出临界区这段时间内执行的代码是独享CPU使用权的!rt_enter_critical(); //进入临界区tick = rt_tick_get();while (rt_tick_get() - tick < 10){ total_count ++;...
2018-06-14 10:57:22 1189
原创 2.RT-Thread中的跑马灯
/* * 程序清单:跑马灯例程 * * 跑马灯大概是最简单的例子,就类似于每种编程语言中程序员接触的第一个程序 * Hello World一样,所以这个例子就从跑马灯开始。创建一个线程,让它定时地对 * LED进行更新(关或灭) *//* * 程序清单:跑马灯例程 * * 跑马灯大概是最简单的例子,就类似于每种编程语言中程序员接触的第一个程序 * Hello World一样,所以这个例子就...
2018-06-14 10:34:59 1247
原创 10.消息队列的使用
1.邮箱和消息队列的区别:邮箱发送的是内存地址(指针传递),并没有进行内存赋值,如果邮箱发送缓冲区变成局部变量,如果函数退出之后,这些局部变量就被回收了,发送的东西肯定是不对的,邮箱发送的地址不要放在局部变量中。消息队列可以直接复制内存块到另外一个内存块,传送的是内存中的内容。消息队列可以直接用局部变量作为buffer。邮箱大小固定4字节,消息队列大小不固定,用户自定义,如果定义消息队列大小为4字...
2018-06-13 22:02:28 1353 1
原创 9.邮箱的使用
1.例说邮箱单个邮箱大小的限制:4字节,邮箱总大小:用户设置sizeof()/42.例程源码解析及邮箱的相关操作 init初始化/creat创建 发送 接收 detach脱离/delete删除邮箱控制块与存放邮件的内存池创建/* 邮箱控制块 */static struct rt_mailbox mb;/* 用于放邮件的内存池 */static ...
2018-06-13 20:09:38 446
原创 8.互斥量的使用--mutex
1.举例理解互斥锁 停车场(只有一个停车位)---------------- car1----------------car1进去后给停车场上锁,其他车就进不去了。car2 car3 car4 同时只能有一个线程占有公共资源。互斥锁是一种保护共享资源的方法。当一个线程拥有互斥锁的时候,另一个线程若是等待锁, 则其就会被挂起,从而保证只有一个线程会操作共享数据。2.例...
2018-06-13 16:12:53 1306
原创 7.RTT信号量的使用
1.IPC(inter process communication) RTT中的IPC:信号量、互斥锁、信号、消息队列、邮箱2.理解信号量(semaphore ) 停车场-----------------------------1 2 3----------------------------- ...
2018-06-13 10:26:52 1497
spectek-512gb-2tb-nand-tlc-b37r.pdf
2021-03-31
C++讲稿-清华大学郑莉老师精品课程.zip
2020-02-21
X86_64平台mentohust锐捷openwrt-lede安装包,用于校园网拨号上网.rar
2019-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人