![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
freertos应用开发
文章平均质量分 94
物联网嵌入式小冉学长
分享物联网嵌入式知识的小冉学长
展开
-
第六章、SPI总线接口设备及驱动
所谓为非差分与差分的概念是指在远距离传输时,是否通过比较两个根的电平的差来判断是传据是高还是低,一般远距离传输都是使用差分总线,近距离的都是非差分总线。SPI(serial peripheral interface)串行外设接口的缩写,它是Motorola公司推出的一种同步串行接口技术,是一种高速的,全双工的,同步的通信总线。当:CPOL(时钟极性) = 1时,即空闲时电平为高,第一个边沿意味为由高到低的下降边沿。SPI是支持全双工通信, 通信简单,数据传输速率快,非差分的,一主多从的通信模式。原创 2024-08-30 10:23:13 · 754 阅读 · 0 评论 -
第五章、I2C总线接口设备及驱动
由于早期使用uart通信时,当进行多设备通信时,连接过于繁琐复杂,对于近距设备间通信,成本过高,所以在1982年由飞利浦公司开发出了一种基于总线的多设备通讯方式:I²C通信,总线由简洁的SCL时钟线与SDA数据线组成,多个设备都挂载到这两根上。I²C协议的设计初衷是通过减少连接线数量和简化硬件接口,实现低成本、高效的近距离设备通信。在I2C的Master模式下,STM32微控制器作为主设备,与从设备进行通信。在Memory模式下,STM32微控制器作为主设备,访问从设备的内存。以便以后的应用中使用!原创 2024-08-24 09:08:45 · 923 阅读 · 0 评论 -
第四章、UART异步串行通信总线
由于很多外设的数据都由CPU进行拷贝,为了提高CPU实时性,进行更加重要的数据逻辑的处理,对于数据拷贝的工作,交于一个专门进行定向内存拷贝工作的Soc内部组件,就是DMA.因为冲电与不冲电的朋友应该有不一样的待遇。因为异步通信没有使用同步的时钟,所以通常需要额外的控制信息,如:起始位,停止位,校验位,来标识数据的开始和结束,确定数据的正确传输和解析。idle的意义:有了idle中断,我们对完整的数据边界就有了更好的判断,而不需要CPU参与到数据的判断中来,大大节约了CPU的资源。RX:接收数据串行输。原创 2024-08-19 10:44:16 · 711 阅读 · 0 评论 -
第三章、STM32中断体系结构与中断上下文处理
在NVIC中对于硬件产生的任何一个中断都分配了一个中断号,中断号是一个唯一的标识符,用于识别每个外设设备的中断。重点一句话:以上讲解了很多的概念,但是在开发中,只需要搞清楚与中断事件对应的ISR的回调的__weak函数,重新实现相关的ISR逻辑即可,注册ISR的回调的函数中不可以有阻塞。在启动文件中定义两部分中断的ISR,一部分是系统内置的中断服务例程的句柄,另一部则是外部中断源的中例ISR,大多也都是一些外设中断源的ISR句柄。那么定时器的功能就是由这个定时器守护任务执行相应的回调函数实现的。原创 2024-08-18 18:52:58 · 974 阅读 · 0 评论 -
第二章、FreeRTOS任务管理及通信方式
协调执行顺序就是同步。注意:队列集中不推荐添加互斥锁,因为xQueueSelectFromSet()是阻塞的,是同步的,就没有互斥的特性了,再有就是互斥锁在队列集使用时将失去优先级继承机制,所以不推荐在队列集中使用互斥锁。1. 假设任务1获取了互斥信号量,那么本应该任务1释放信号量,但是实际上其它任务也能释放信号量,如果其中某个任务释放并获取了信号量,那么就会产生错误。继承优先机制:即当高优先级任务在等待低优先级任务资源时,会临时提高低先级任务的优先级与高优先级任务相同,主要用来防止优先级反转的问题的。原创 2024-08-18 11:08:14 · 1064 阅读 · 0 评论 -
第一章 FreeRTOS与HAL库
如果说Linux内核是的巨大的操作系统,那么FreeRTOS只从中摘取了进程管理的部分内部,并优化了在单片机上的运行,而形成的一个轻量机的管理单片机中的任务执行的实时系统。如果你学习过Linux之后,再来学习FreeRTOS总会有一种可以从更高的维度来理解单片机的HAL库开发,及FreeRTOS这个轻量级的单片机的OS它到底做了哪些事件?,但:I/O口的电平不一定是输出的电平,也可能是外部电路的电平。3.输入浮空:适用场景:由外部电路电平高低决定的输入场景,或外部自带上,下拉电阻的情况。原创 2024-08-18 08:44:46 · 621 阅读 · 0 评论