自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

Mircon B37R 3D TLC NAND specification 200页的那种,包含ONFI 指令集的那种

2021-03-31

C++讲稿-清华大学郑莉老师精品课程.zip

清华大学郑莉老师的C++精品课程讲稿,附带视频地址,非常值得学习的资料! 清华大学郑莉老师的C++精品课程讲稿,附带视频地址,非常值得学习的资料!

2020-02-21

openwrt-PE写盘专用-x86-64.rar

X86_64平台的lede刷机固件,用于电脑平台,不是路由器上用的!

2019-07-24

X86_64平台mentohust锐捷openwrt-lede安装包,用于校园网拨号上网.rar

X86_64平台锐捷openwrt/lede安装包,用于校园网拨号上网 不是路由器上用的,是64位电脑上用的!在命令行用以下命令安装~ 不是路由器上用的,是64位电脑上用的!在命令行用以下命令安装~ 不是路由器上用的,是64位电脑上用的!在命令行用以下命令安装~ usage: 1. sudo cp libnotify.so.1 /usr/lib 2. opkg install mentohust_0.3.1-1_x86_64.ipk 3. opkg install libpcap1_1.9.0-2_x86_64.ipk 4. 修改mentohust.conf文件中的用户名和密码然后执行如下复制命令 5. sudo cp mentohust.conf /etc

2019-07-24

自动控制原理 第二版 吴怀宇 廖家平

自动控制原理 第二版 吴怀宇 廖家平 ,一本学习自动控制原理的好教材!

2018-11-03

NFC卡模拟软件

NFC卡模拟软件,手机版本~适用于安卓

2018-11-02

RT-Thread 嵌入式操作系统中文指导手册

RT-Thread 嵌入式操作系统中文指导手册

2018-03-10

coos嵌入式实时操作系统中文指导手册

coos嵌入式实时操作系统中册文指导手册

2018-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除