内核
-
1.线程的创建
先通过rt_thread_create()函数简单创建一个线程
此时线程属于准备就绪状态,还要通过rt_thread_startup()来启动线程PS:线程在Rtthread是一个非常重要的,它能够使得硬件开发从面向外设开发到面向线程开发,使得开发效率大大提升,功能线程化,通过对线程得调度能够让硬件具有更大的开发空间
-
2.线程之间的同步
1.信号量
rt_sem_init(...)
rt_sem_create(...)
rt_sem_take(...) //等待xxx信号量
rt_sem_release(...) //放出xxx信号量
rt_sem_detach(...) //信号量脱离
2.互斥量(与信号量不同的是,互斥量只能由持有线程释放,其他线程不可释放)
,取得互斥量的线程与高优先度的优先级相同
rt_mutex_init(...)
rt_mutex_create(...)
rt_mutex_take(...)
rt_mutex_release(...)
rt_sem_detach(...)
- 3.线程间的通信
1.邮件通信
同样通过create…等操作创建邮箱
rt_mailbox_send() 和 rt_mailbox_recv接收信息(一封邮件的大小为4字节)
外设部分
RTthread几乎所有的外设要通过rt_device_find()API获得外设句柄,然后再通过外设对应的API操作……
好像也没什么好写的…[doge]