Image
Image

梵蒂冈是神uy

+ 关注

粉丝 1     |     主题 53     |     回帖 735

一个严谨的FIFO(RING BUFF)
2024-4-15 13:49
  • ST MCU
  • 35
  • 2455
  FIFO使用定时器的回调函数。回调函数中判断FIFO的标志位。对不同类型的FIFO执行不同的操作。 中断写入类型 ...  
  获取FIFO的使用量,需要操作busy标志位 INT16U func_fifo_GetUsed(FifoTypeDef* fifo) { INT16U num = 0; ...  
  /** *************************************************** * @brief func_fifo_FindDelete * @note ...  
  从FIFO的指定位置开始查找,不进行元素的删除和相关指针的操作  
  查找FIFO中的元素,对不符合元素进行删除,直到查找到或者FIFO容量不符合查找长度时停止 /** ************* ...  
  比较FIFO重的元素,不对FIFO指针进行操作。 /** *************************************************** * ...  
  删除FIFO中的元素  
  FIFO数据的拷贝,只进行数据拷贝,不操作FIFO的相关指针 /** ***************************************** ...  
  /** *************************************************** * @brief func_fifo_Pull * @note 从FIFO ...  
  FIFO数据的读取。分为三个函数 func_fifo_Pull:读取FIFO的数据,若读取个数大于FIFO的使用量返回错误 fu ...  
  FIFO元素的写入,包括中断写入和普通写入两种。中断写入首先进行busy标志位判断,busy时将数据写入到back。 ...  
  创建FIFO,初始化FIFO的相关遍历,初始化FIFO的链表  
  3.2.3FIFO函数实现 获取FIFO驱动的版本和FIFO定时器的初始化。  
  3.2.2底层操作函数 FIFO的底层操作函数,底层操作函数不对FIFO的标志位进行判断,时主函数和中断操 ...  
  更新pull指针的位置,同上。 static inline INT16U func_fifo_CalPoint2end(FifoTypeDef* fifo, INT8U* poi ...  
  更新push指针的位置。需要注意到FIFO的缓冲区结尾时回头的情况  
  3.2内部函数 3.2.1相关指针操作函数 指针的相关操作函数,主要用于对FIFO的push和pull指针进行更新,同时在 ...  
  置位,复位,查询FIFO的繁忙,中断,初始化状态。  
基于hal库,GPIO的主要内容。
2023-12-27 14:46
  • ST MCU
  • 17
  • 441
  一、GPIO的原理 介绍: GPIO是通用输入输出端口的简称,简单来说就是stm32可控制的引脚。 每个通用 I/O 端 ...  
  前言: 因学业繁忙,停更了许久,暑假来袭,也有些空余时间,想在这更新下。这里我想了下,下面只介绍四节 ...  
2
3