![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
RT-T ---------
学习rtt的笔记
E2.0
脱坑、脱坑
展开
-
基于C语言的嵌入式适用的数据结构---队列和循环队列
初始位置全部占满队首出队再次入队再让队首出队原创 2020-08-14 10:22:37 · 467 阅读 · 0 评论 -
理解IO驱动,51单片机、STM32单片机、嵌入式Linux分别点亮LED灯
无论是学开发什么板子,接触的第一个程序一般都是点亮LED灯。下面分别从51单片机、STM32单片机(寄存器、库函数、RTOS)、嵌入式Linux五个方面解释,这里我们假设都是低电平点亮。51单片机点亮#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器/* reg52.h 里定义寄存器 sfr P2 = 0xA0*/sbit led=P2^0; //将单片机的P2.0端口定义为ledvoid main(){ while(1) { le原创 2020-06-21 00:30:58 · 614 阅读 · 0 评论 -
RT_Thread学习笔记_4、事件集
一、事件集事件:唤醒线程的条件。 与信号量的区别: 信号量主要用于一对一的线程同步;当需要“一对多”,“多对一”,“多对多”时就需要事件集处理。 线程通过访问set中的标志位,结合逻辑或(独立型)、与(关联型)建立事件组合,控制线程是否要发生。 事件集控制块 /* * event structure */struct rt_event{ struct ...原创 2020-02-17 23:43:46 · 263 阅读 · 0 评论 -
RT_Thread学习笔记_3、IPC互斥量、解决优先级翻转
1、互斥量特殊的二值性信号量 互斥量相较于信号量: 信号量像交通灯,强调运行步骤。互斥量像锁,强调许可和权限。 使用信号量可能导致优先级翻转,互斥量通过优先级继承的方法解决翻转问题。 rt_mutex_release(不可以在中断里调用)只有当take到才能用,跟信号量不同,可以take信号量A,一个release信号量B。 当take到互斥量后,再次take时,hold+1,...原创 2020-02-17 22:23:52 · 375 阅读 · 0 评论 -
RT_Thread学习笔记_2、线程通信IPC、生产者消费者问题(数据合理通信)
一、线程间通信IPC嵌入式运行的代码主要是线程和中断(ISR),在运行的过程里有不同的需求: 同步:按照预先的先后次序运行 互斥:一个时刻只允许一个线程访问资源 交换数据 操作系统实现需求的相关机制IPC:信号量、互斥量、事件、邮箱、消息队列 信号量:信号量是一个内核对象 线程通过获取或释放信号量达到同步或互斥的目的。 工作机制:类似于停车场看门大爷,至少需要记录...原创 2020-02-15 11:35:52 · 273 阅读 · 0 评论 -
RT_Thread学习笔记_1、针对单个线程、新建线程、钩子函数、临界区保护
rtt提供自己的GPIO驱动架构,IO的初始化(rt_pin_mode())、写入(rt_pin_write())、读入(rt_pin_read())我们以LED闪烁为诉求,新建test.c文件,我们先写个要调用的函数led_entry(),然后写创建线程分配资源的函数led_test() static void led_entry(void *parameter){ rt_pi...原创 2020-02-13 00:17:08 · 562 阅读 · 0 评论