![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RT-Thread
文章平均质量分 56
Kayle77
这个作者很懒,什么都没留下…
展开
-
9.互斥量的使用
rtt有两个获取互斥量的函数,一个释放互斥量函数:rt_mutex_take() 获取互斥量,rt_mutex_trytake() 无等待、尝试获取互斥量,rt_mutex_release() 释放互斥量。删除互斥量时,如果有线程在等待该互斥量,则内核会先唤醒这些线程(线程返回值是 - RT_ERROR),然后再释放互斥量使用的内存,最后删除互斥量对象。删除/脱离:不再使用一个互斥量时:删除它:rt_mutex_delete(),脱离它:rt_mutex_detach() 互斥量是一种特殊的二值信号量。原创 2024-04-10 16:45:56 · 381 阅读 · 0 评论 -
8.信号量的使用
删除信号量时,如果有线程正在等待该信号量,则内核会先唤醒这些线程(线程返回值是 - RT_ERROR),然后再释放信号量使用的内存,最后删除信号量对象。获取/释放:RT-Thread 有两个获取信号量的函数,一个释放信号量函数:rt_sem_take() 获取信号量,rt_sem_trytake() 无等待、尝试获取信号量,rt_sem_release() 释放信号量。信号量的创建有两种方法:动态分配内存rt_sem_create()、静态分配内存rt_sem_init(),原创 2024-04-10 16:45:24 · 356 阅读 · 0 评论 -
7.信号的使用
信号的发送者、接收者都是线程,线程对收到的信号,有三类处理方式:第一类:类似中断处理程序,对于需要处理的信号,线程可以指定处理函数,由该函数处理;第二类:忽略某个信号,对该信号不处理;如果线程1在挂起状态收到信号:线程 1 被唤醒,线程 1 先调用信号处理函数,再继续运行之前的代码。如果线程1在就绪状态收到信号:线程 1 再次运行时,先调用信号处理函数,再继续运行之前的代码。屏蔽/使能:如果屏蔽该信号,就该信号不会传达给安装该信号的线程。安装:如果线程需要处理某一个信号,就需要现在线程中安装该信号。原创 2024-04-10 16:44:54 · 306 阅读 · 0 评论 -
6.邮箱的使用
发邮件有三个函数:rt_mb_send() 发送邮件,rt_mb_send_wait() 等待方式发送邮件,rt_mb_urgent() 发送紧急邮件。收邮件的函数为rt_err_t rt_mb_recv,当邮箱有邮件时,使用收邮件函数,可以从邮箱接收邮件。删除邮箱的函数为rt_mb_delete(),它会释放内存删除邮箱时,如果有线程在等待该邮箱,则内核先唤醒这些线程(线程返回值是 - 同样邮箱的删除/脱离也有两种方法:rt_mb_delete(),rt_mb_detach()原创 2024-04-10 16:44:21 · 319 阅读 · 0 评论 -
5.消息队列
发送消息有三种函数:rt_mq_send() 发送消息,rt_mq_send_wait() 等待方式发送消息,rt_mq_urgent() 发送紧急消息。发送消息时,如果消息队列已满,并且有多个发送线程同时等待发送,这时当接收线程接收一个消息时,就会有一个空闲的位置,如果该消息队列是RT_IPC_FLAG_FIFO,那么就由等待最久的发送线程发送消息,如果该消息队列是RT_IPC_FLAG_PRIO,那么谁优先级高谁先发。rtt使用拷贝值的方法。 当队列有消息时,使用收消息函数,可以从队列接收消息。原创 2024-04-09 22:44:11 · 818 阅读 · 1 评论 -
4.调度相关
这个函数非常简单,就是将我们传进去的函数入口当作rt_scheduler_hook,是调度器执行时进入我们的钩子函数,在调度器的钩子函数中有两个参数from_thread和to_thread,前者是调度时上一个线程的名称,后者时调度时下一个线程的名称。系统中可能有多个线程,它们的优先级可能相同、可能不同,RT-Thread 采用的调度策略是:可抢占:高优先级的就绪线程会“立刻”抢占低优先级的线程; 在rtt运行中,会不断的切换线程,这由rt_schedule()来实现。原创 2024-04-09 21:40:22 · 242 阅读 · 0 评论 -
3.空闲线程及其钩子函数
空闲线程及其钩子函数原创 2024-04-09 21:39:43 · 266 阅读 · 0 评论 -
2.线程的创建
线程的创建原创 2024-04-09 21:28:23 · 239 阅读 · 0 评论 -
1.RT-THREAD启动流程
RT-THREAD启动流程原创 2024-04-09 21:24:05 · 1109 阅读 · 0 评论