网站设计公司深圳缩我短网址生成

news/2025/10/5 17:59:48/文章来源:
网站设计公司深圳,缩我短网址生成,wordpress如何添加内链,装修网名字大全1.开发背景 基于以上的章节#xff0c;了解了 FreeRTOS 多线程间的信号量、队列的使用#xff0c;已经满足了日常使用场景。其中#xff0c;队列的使用规定了队伍成员的大小#xff0c;然而现实使用场景下#xff0c;很多数据不都是定长大小了#xff0c;例如不定长的通讯…1.开发背景 基于以上的章节了解了 FreeRTOS 多线程间的信号量、队列的使用已经满足了日常使用场景。其中队列的使用规定了队伍成员的大小然而现实使用场景下很多数据不都是定长大小了例如不定长的通讯协议亦或者是缓存日志信息如果在这种场景下使用队列传递信息显然不合适会导致队伍中空间没有利用起来。因此FreeRTOS 引入流缓冲区实际上就是环形缓存。 注意流缓冲区相对于队列没有设置临界区保护只有一对一传输才是安全的一对多或者多对多需要自行进入临界区保护。 2.开发需求 设计实验 1创建 2 个线程控制线程和接收线程 2控制线程定时发送数据到流缓存区 3接收线程接收流缓存区的数据 3.开发环境 window10 MDK STM32F429 FreeRTOS10.3.1 4.实现步骤 4.1 实现编码 创建流缓存区还需要注意的是触发的字节数 xTriggerLevelBytes接收数据的时候需要达到触发字节数才会触发接收一般设置为 1 即可。 #include appTest.h#include stdio.h #include string.h #include stdlib.h#include mspDwt.h #include mspGpio.h #include mspExti.h#include FreeRTOS.h #include task.h #include queue.h #include stream_buffer.h#include appLog.htypedef struct {/* 流缓存区 */unsigned char rxBuff[1024];StreamBufferHandle_t buffer;/* 创建任务 */TaskHandle_t taskCtrl;TaskHandle_t taskRx; }Ctrl_t;/* 文件指针 */ static Ctrl_t s_ctrl {0}; static Ctrl_t *p s_ctrl; static void TaskCtrl(void *pvParameters); static void TaskRx(void *pvParameters);static void TaskCtrl(void *pvParameters) {for ( ; ; ){static unsigned char count 0;vTaskDelay(10);if (count 10){xStreamBufferSend(p-buffer, count, sizeof(count), portMAX_DELAY);Log_Debug(%s Tx Data %d\r\n, __func__, count);count;}} }/* 接收线程 */ static void TaskRx(void *pvParameters) {for ( ; ; ){size_t rxSize xStreamBufferReceive(p-buffer, p-rxBuff, 100, portMAX_DELAY);Log_Debug(%s RxData , __func__);for (int i 0; i rxSize; i){Log(eLog_Debug, %.2X , p-rxBuff[i]);}Log(eLog_Debug, \r\n);} }/* 测试初始化 */ void aTest_Init(void) {/* 创建流缓冲区 */size_t xBufferSizeBytes 100;size_t xTriggerLevelBytes 1; // 接收的字节大于触发字节可以提前唤醒p-buffer xStreamBufferCreate(xBufferSizeBytes, xTriggerLevelBytes);/* 创建动态任务 */xTaskCreate(TaskCtrl, TaskCtrl, 500, NULL, 4, p-taskCtrl);xTaskCreate(TaskRx, TaskRx, 500, NULL, 4, p-taskRx); }/* Key2 PC13 Key0 PH3 Key1 PH2 */ void Exti13_TriggerInterrupt(void) {mspExti_Close(13);if (mspGpio_GetInput(PC13) 0){} }4.2 结果显示 4.3 其他常用接口 xStreamBufferIsEmpty         // 判断缓存是否空 xStreamBufferIsFull // 判断缓存是否满 xStreamBufferReset // 缓存复位清空 xStreamBufferBytesAvailable // 缓存现有已存储字节 xStreamBufferSpacesAvailable // 混存现有未储存字节

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二手图书交易网站建设辽宁移动惠生活app官方版

一、新建一个项目 首先,下载微信小程序开发工具,具体下载方式可以参考文章《微信小程序开发者工具下载》。 然后,注册小程序账号,具体注册方法,可以参考文章《微信小程序个人账号申请和配置详细教程》。 在得到了测…

ios移动网站开发详解高端室内设计公司

活动介绍: 「数据仓库技术交流群」已经正式启动每日SQL打卡,帮助大家扎实基础,努力工作之余,别忘了自我提升。 欢迎报名和邀请小伙伴参与,一个人可能走得很快,但一群人会走得很远。 🍅题目汇总(…

实用指南:B站视频下载器 v1.0.4|免登录下载1080P视频

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

台州椒江做网站wordpress禁止搜索页面

队列定义 先进者先出,这就是典型的“队列”。队列跟栈一样,也是一种操作受限的线性表数据结构。 顺序队列和链式队列 顺序队列:用数组实现的队列// 用数组实现的队列 public class ArrayQueue {// 数组:items,数组大…

7 2025 07 15 模拟赛题解

2025 07 15 模拟赛题解 T1 水题一道,全场切 题面 请你判断是否存在正整数 \(n\),使得 \(n^2\) 是 k 的倍数,且 \(n\) 不是 \(k\) 的倍数。如果存在,则输出最小的 \(n\)。不存在则输出 \(−1\)。 \(1 \le k \le 10 …

路桥区商用营销型网站建设wordpress如何查看并修改源代码

SpringCloud Alibaba 常用组件 一、基础结构搭建1.父工程创建2.子工程创建 二、Nacos:注册中心1.服务端搭建2.注册中心-客户端搭建3.注册中心-管理页面4.注册中心-常用配置5.注册中心-核心功能总结 三、Nacos注册中心集成Load Balancer 、OpenFeign1.Nacos客户端集成…

使用 OCaml 实现验证码识别

一、背景介绍 验证码(CAPTCHA)是一种常见的人机验证方式,通常由随机生成的字母或数字组成。为了自动化识别验证码,我们可以结合 OCR 引擎 Tesseract 与编程语言进行处理。本文使用 OCaml 实现验证码识别。 二、技术…

资料中台(大材料平台)之数据仓库建设

资料中台(大材料平台)之数据仓库建设pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

私有云大数据部署:从开发到生产(Docker、K8s、HDFS/Flink on K8s) - 详解

私有云大数据部署:从开发到生产(Docker、K8s、HDFS/Flink on K8s) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fami…

建设网站注意什么wordpress表单数据前台显示图片

近年来,我国各类器材制造业已经开始向数字化生产转型,使得生产流程变得更加精准高效。通过应用智能设备、物联网和大数据分析等技术,企业可以更好地监控生产线上的运行和质量情况,及时发现和解决问题,从而提高生产效率…

本地搭建多个网站wordpress文章阅读量

检索销量表中销量最好的商品id和销量,下列SQL语句正确的是() A. SELECT 商品id,销量 FROM 销量表 WHERE 销量MAX(销量) B. SELECT 商品id,MAX(销量) FROM 销量表 GROUP BY 销量 C. SELECT 商品id,MAX(销量) FROM 销量表 GROUP BY 商品id …

3g版网站制作wordpress分城市访问

临界区模式 Critical Section Pattern 是指在一个共享范围中只让一个线程执行的模式.它是所有其它多线程设计模式的基础,所以我首先来介绍它.把着眼点放在范围上,这个模式叫临界区模式,如果把作眼点放在执行的线程上,这个模式就叫单线程执行模式.首先我们来玩一个钻山洞的游戏,…

差分约束模板

洛谷模板测试七倍经验: https://www.luogu.com.cn/record/238785118 https://www.luogu.com.cn/record/238783283 https://www.luogu.com.cn/record/238788990 https://www.luogu.com.cn/record/238791631 https://ww…

第一篇:揭示模型上下文协议(MCP):AI的通用连接器 - 详解

第一篇:揭示模型上下文协议(MCP):AI的通用连接器 - 详解2025-10-05 17:35 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importa…

17 LCA模拟赛1T2 剧院始于演员 题解

剧院始于演员 题面 有 \(n\) 个演员,共 \(m\) 场演出,每场演出会给出这场演出的演员名单,共 \(k_i\) 个姓名 对于每个演员,求最早在哪一场演出结束后能够确定其对应姓名? \(1 \le n , m \le 10^5, \sum k_i \le 1…

岳阳网站建设收费标准做货运网站找哪家好

k8s-集群部署1 一、基础环境准备二、docker环境准备三、k8s集群部署1.kubeadm创建集群2.使用kubeadm引导集群 总结 一、基础环境准备 首先,需要准备三个服务器实例,这里我使用了阿里云创建了三个实例,如果不想花钱,也可以在VM上创…

3 2025 04 23 模拟赛总结

成绩表 ![[12 题解/photo/Pasted image 20250423183537.png]]做题情况T1:看了十分钟没什么思路,后来打表找到了一点规律,但是没写对(可能是因为细节太多)0pts T2:这个题看起来唬人,实际不难,想了大概20分钟,后…

14 收心赛3 T1 最长不降子序列 题解

最长不降子序列 题面 小 W 有一个长度为 \(n\) 的序列 \(a_1, a_2 ...a_n\) ,且 \(a_i\) 的取值都为 1 或 2 现在,你可以任意选择该序列的一个区间进行翻转操作,但你只能翻转一次。 小 W 希望执行操作之后,整个序列…

16 LCA模拟赛1T1 密码 题解

密码 题面 给定两个由字符 \(0 \sim 9\) 组成的字符串 \(s, t\) ,\(t\) 是由 \(s\) 中的一段非空连续子串替换为其各个字符的和得到的 现在要求这一段非空连续子串的左右端点,下标从 1 开始 例如 input: 2148 213 ou…

幼儿做爰网站网站建设前的市场分析

酒吧学DJ打碟他有很多种的说法,有些酒吧他是自己招学生,当这样的酒吧在现今是挺少的,也有,但要求很高。还有一种就是说你自己在酒吧里上班的人自己招私人徒弟什么的,那也是就学DJ打碟,那一搬酒吧都是怎么学…