当前位置: 首页 > wzjs >正文

哪个网站专做民宿做网站图片太大好吗

哪个网站专做民宿,做网站图片太大好吗,网站页头背景,河北网站设计制作1. 循环队列的核心结构设计 ​数据结构定义:通常使用结构体封装队列的指针、长度及缓冲区。例如: typedef struct {u16 Head; // 队头指针u16 Tail; // 队尾指针u16 Length; // 当前队列长度u8 Rsv_DAT[50]; // 缓冲区数组 } ringbuff_t; 其中…

1. 循环队列的核心结构设计

  • 数据结构定义:通常使用结构体封装队列的指针、长度及缓冲区。例如:

    typedef struct {u16 Head;     // 队头指针u16 Tail;     // 队尾指针u16 Length;   // 当前队列长度u8 Rsv_DAT[50]; // 缓冲区数组
    } ringbuff_t;

    其中,HeadTail通过模运算(如(Tail+1)%50)实现循环移动,避免越界。

  • 初始化函数:重置指针和长度:

    void ringbuff_init(ringbuff_t *q) {q->Head = q->Tail = q->Length = 0;
    }

2. 入队与出队操作

  • 入队(写入中断)​:在串口接收中断中将数据存入队列尾部:

    u8 write_ringbuff(u8 data) {if (q->Length >= 50) return FALSE; // 队列满q->Rsv_DAT[q->Tail] = data;q->Tail = (q->Tail + 1) % 50;q->Length++;return TRUE;
    }
  • 出队(主程序读取)​:从队头取出数据并处理:

    u8 read_ringbuff(u8 *rdata) {if (q->Length == 0) return FALSE; // 队列空*rdata = q->Rsv_DAT[q->Head];q->Head = (q->Head + 1) % 50;q->Length--;return TRUE;
    }

    需注意线程安全:若中断和主程序同时操作队列,需使用临界区或原子操作。


3. 队列状态判断与溢出处理

  • 队空条件Head == TailLength == 0
  • 队满条件(Tail + 1) % Size == Head,或通过Length判断。
  • 溢出处理
    • 动态扩容:部分实现支持缓冲区动态扩展(未在搜索结果中体现)。
    • 丢弃旧数据:当队列满时,可覆盖最旧数据或返回错误。

4. 实际应用场景

  • 串口通信:在中断中接收数据并存入队列,主程序按协议解析。
    // 串口中断服务函数示例
    void USART1_IRQHandler() {u8 data = USART_ReceiveData(USART1);write_ringbuff(data); // 入队
    }
  • 多端口处理:支持多个接收端口(如双串口)的循环队列,需为每个端口分配独立队列。
  • 任务调度:将队列用于任务队列模式,管理异步任务执行。

5. 优化与扩展

  • 非阻塞设计:允许在中断中快速入队,主程序异步处理,避免阻塞。
  • 内存对齐:针对STM32的DMA传输,需确保缓冲区地址对齐。
  • 性能调优:通过调整缓冲区大小(如50→100)平衡内存占用与溢出风险。
http://www.dtcms.com/wzjs/831914.html

相关文章:

  • 汉中网站建设公司推荐动漫短视频怎么制作教程
  • 做营销网站建设想开个网站卖衣服的怎么做
  • 广安市建设局官方网站安徽省建设监理协会
  • 亚马逊网站如何做商家排名视频剪辑培训机构哪个好
  • 广东圆心科技网站开发网站模板设计wordpress远程后台设置
  • 网站管理员权限有哪些东莞常平隐贤山庄门票多少钱
  • 扬州学做网站培训多少钱网站建设要经历哪些步骤?
  • 医院招聘网站建设和维护人员单页网站如何做排名
  • 网站付费推广方式机票酒店 网站建设
  • 滨州淄博网站建设wordpress7.6
  • 网站的后缀名怎么建设制作网站公司 英语网站首页
  • 做淘宝客网站挣钱建站公司售后服务
  • 做图书网站赚钱么wordpress数据库批量删评论
  • app展示网站模板seo优化步骤
  • 青龙桥网站建设将网站做成logo怎么做
  • 免费网站建设找哪家办公用品企业网站建设方案
  • 西安网站开发培训价格职业技能培训平台
  • 南平武夷山网站建设自己做网站统计
  • 网站空间租用wordpress 应用模板
  • 怎么区别网站开发语言html 购物网站
  • 使用html制作个人主页台州专业关键词优化
  • 北京手机网站搭建费用咸阳市住房和城乡建设局网站
  • 网站后台欢迎界面网站开发树形图
  • 丹东做网站的公司手机端企业网站源码下载
  • 做外贸有哪些好的网站有哪些内容百度广告投放平台叫什么
  • 百度中搜到网站名字德州app开发公司
  • 做家电家具回收用哪个网站好网站制作怎样容易
  • 上海定制建站网站建设网站小图标怎么制作
  • 宁波企业网站开发公司如何保存网站上的图片不显示图片
  • 建立个人网站的费用校园网站建设的重要性