怎么在广西建设厅网站注销c证/seoyoon

怎么在广西建设厅网站注销c证,seoyoon,java网站开发招聘,wordpress伪静态作用一.利用 vTaskList()以及 vTaskGetRunTimeStats()来获取任务的信息 1.现象与开启启用宏 freeRTOSConfig.h //必须启用 #define configUSE_TRACE_FACILITY 1 #define configGENERATE_RUN_TIME_STATS 1 #define configUSE_STATS_FORMATTING_FUNCTIONS…
一.利用 vTaskList()以及 vTaskGetRunTimeStats()来获取任务的信息
1.现象与开启启用宏
freeRTOSConfig.h
//必须启用
#define configUSE_TRACE_FACILITY                 1
#define configGENERATE_RUN_TIME_STATS            1
#define configUSE_STATS_FORMATTING_FUNCTIONS     1
#define configSUPPORT_DYNAMIC_ALLOCATION         1
//定义
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()                 (CPU_RunTime = 0ul)//为0的原因是下面的  CPU_RunTime已经满足 ,高出10~20倍的条件了。
#define portGET_RUN_TIME_COUNTER_VALUE()                             CPU_RunTime
2. vTaskList()函数与 vTaskGetRunTimeStats()函数基础信息
vTaskList()函数是FreeRTOS中自带的一个用来获取任务信息的函数,该函数会创建一个列表,列表中包含任务名称,任务状态信息,任务优先级,剩余堆栈以及任务编号的信息。
vTaskGetRunTimeStats()函数是FreeRTOS中自带的一个用来统计各个Task占用CPU时间的函数,使用这个功能我们可以清晰地看到每个任务所占用时间、百分比以及CPU整体的占用率,任务的运行时间信息提供了每个任务获取到的CPU使用权总的时间。
    #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS()                 (CPU_RunTime = 0ul) 
初始化一个外设来提供统计功能所需的时基。这个时基的分辨率一定要比FreeRTOS的系统时钟高,一般高出10~20倍。
#define portGET_RUN_TIME_COUNTER_VALUE()                                         
CPU_RunTime用于系统时间计数
//1.在上该语句所在的.c文件种定义 CPU_RunTime2.在 freeRTOSConfig.h调用外部声明的全局变量3.在中断的回调函数中调用4.在开启调度器前 打开中断计时器
因为使用的是tim7中断计数注意要在调度器使用前打开中断计时器并且在配置时不要忘记打开
任务函数例子:
void task_uart(void *para)
{
    uint8_t CPU_RunINfo[400];
    while(1)
    {
        memset(CPU_RunINfo,0,400);
        vTaskList((char*)CPU_RunINfo );
        printf("任务名\t任务状态\t优先级\t剩余栈\t任务序号\r\n");
        printf("%s",CPU_RunINfo);
        printf("\r\n");
        memset(CPU_RunINfo,0,400);
        vTaskGetRunTimeStats((char*)CPU_RunINfo);
        printf("任务名\t运行时间\t使用率\r\n");
        printf("%s",CPU_RunINfo);
        printf("\r\n");
        vTaskDelay(1000);
    }
}
//补充: 利用tim进行记录时间其实就是在使用其中断的回调函数在进行时间的记录, 每次使用中断计时器时都要注意打开中断计时器
中断是有共同的回调函数但是可以使用判断不同的htim来进行不同的操作
#include "string.h"
uint8_t  CPU_RunINfo[400];
memset(CPU_RunINfo,0, 400 );   从那个地址 CPU_RunINfo,开始赋值0,赋值400 字节
如果 uint16_t  CPU_RunINfo[400];
memset(CPU_RunINfo,0,800);  从那个地址 CPU_RunINfo,开始赋值0,赋值800 字节
状态:x运行态s挂起态r就绪b阻塞态
二.队列
1.队列的基础信息: 队列其实就是任务与任务之间进行交流与通信,在实际的应用中,常常会遇到一个任务或者中断服务需要和另一个任务进行“沟通交流,这个沟通交流的过程其实就是消息传递的过程,在没有 操作系统的时候两个应用程序进行消息传递一般使用全局变量的方式,但是如果在使用操作系统的应用中,用全局变量来传递消息就会涉及到”资源管理“的问题;
队列的功能就是提供任务到任务,任务到中断和中断到任务的通讯机制;
队列是为了任务与任务,任务与中断之间的通信而准备的,可以在任务与任务、任务与中断之间传递消息,队列中可以储存有限的大小固定的数据项目;
//补充:
为什么不使用全局变量来进行数据传递?
中断里设置i=1;
i=0;就是说中断控制i=1但是没有写在实际的地址上时又来了一次中断使i=1这样就吞了一次中断
LDR           r0,[r1,#0]    //从r1指向地址读取i的值,及读i在内存内的值
ADDS        r0,#            //计算5+1 ,并把结果放在r0中
STR           r0,[r1,#0]    //把r0内的值存储到r1指向的内存中
2.队列的特性:队列数据结构实现任务 异步通信工作
消息支持先进先出方式排队,支持异步读写工作方式,消息支持后进先出方式排队,往队首发送消息
读写队列均支持超时机制
FreeRTOS中采用实际值传递,即将数据拷贝到队列中进行传递,FreeRTOS采用拷 贝数据传递,也可以传递指针(指针也是数值),所以在传递较大的数据的时候采用指针传递
一个任务能够从 任意一个消息队列接受和发送信息;
多个任务能够从 同一个消息队列接受和发送消息;
当队列使用结束后,可以通过删除队列函数进行删除;
队列项:在队列中可以存储数量有限,大小固定的数据,队列中每一个数据叫做队列项,队列能够存储队列项的最大数量成为 队列的长度,创建队列的时候会指定项目的大小和队列的长度;
消息队列的运行方式:
队列读写操作
队列的出队入队
核心
3.创建队列函数
静态相比动态要更加安全
queue. h
动态创建队列:
configSUPPORT_DYNAMIC_ALLOCATION 必须在 FreeRTOSConfig.h 中设置为 1
QueueHandle_t xQueueCreate( 
UBaseType_t uxQueueLength,        // 队列一次可存储的最大项目数
UBaseType_t uxItemSize );             // 存储队列中每个项目所需的大小
如果队列创建成功,则返回所创建队列的句柄。如果创建队列所需的内存  无法分配,则返回 NULL。
静态创建队列:
configSUPPORT_STATIC_ALLOCATION 必须设置为1
QueueHandle_t xQueueCreateStatic(
UBaseType_t uxQueueLength,        // 队列一次可存储的最大项目数
UBaseType_t uxItemSize,                // 存储队列中每个项目所需的大小
uint8_t *pucQueueStorageBuffer,  // 如果 uxItemSize 不为零,则 pucQueueStorageBuffer 必须指向一个 uint8_t 数组,该数组的大小 至少要能容纳队列中最多可能存在的项目的总字节数, 即 ( uxQueueLength * uxItemSize ) 字节。如果 uxItemSize 为零,则 pucQueueStorageBuffer 可以为 NULL
StaticQueue_t *pxQueueBuffer );   // 必须指向 StaticQueue_t 类型的变量,该变量将用于保存队列的数据结构体。队列的任务控制块

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

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

相关文章

初学总结SpringBoot项目在mac上环境搭建和运行

mac一定要安装上homebrew,这个玩意在mac上搭建环境贼拉好用,打开终端安装国内镜像的 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"1. brew安装maven brew install maven2.修改maven国内镜像 ma…

TCP/IP参考模型和网络协议

由于国防部担心他们一些重要的主机、路由器和互联网关可能会突然崩溃,所以网络必须实现的另一目标是网络不受子网硬件损失的影响,已经建立的会话不会被取消,而且整个体系结构必须相当灵活。 TCP/IP是一组用于实现网络互连的通信协议。Interne…

网络安全 | 安全信息与事件管理(SIEM)系统的选型与实施

网络安全 | 安全信息与事件管理(SIEM)系统的选型与实施 一、前言二、SIEM 系统的功能概述2.1 数据收集与整合2.2 实时监控与威胁检测2.3 事件响应与自动化2.4 合规性管理 三、SIEM 系统选型的关键因素3.1 功能需求评估3.2 可扩展性与性能3.3 易用性与可维…

Windows 找不到文件gpedit.msc,没有组策略编辑器,解决办法附上

windows10和11都通用。是不是有人告诉你家庭版本没有gpedit.msc,没有组策略编辑器?这压根就是某软玩的小把戏。Win10/11家庭版可通过修改文件后缀新建bat脚本,添加组策略包,以管理员身份运行后,输入gpedit.msc即可打开…

“PEP 8: W292 no newline at end of file“报错 IntelliJ IDEA自动添加空行问题

"PEP 8: W292 no newline at end of file"报错 IntelliJ IDEA自动添加空行问题 在使用IntelliJ IDEA的过程中,经常会发现不管是对于代码文件或者纯文本文件,在保存时中会在文件末尾加上一个空行,提交GIT对比检查时,总是…

spring 学习 (注解)

目录 前言 常用的注解 须知 1 Conponent注解 demo(案例) 2 ControllerServiceRepository demo(案例) 3 ScopeLazyPostConstructPreDestroy demo(案例) 4 ValueAutowiredQualifierResource demo(案例) 5 Co…

【设计模式】【行为型模式】迭代器模式(Iterator)

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 🎵 当你的天空突…

【centos7】安装redis

rpm链接:http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 下载remi源 wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 安装remi源 rpm -ivh remi-release-7.rpm 查找remi源中redis的版本 yum --enablereporemi list redis …

AcWing 798. 差分矩阵

题目来源: 找不到页面 - AcWing 题目内容: 输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将…

数仓:核心概念,数仓系统(ETL,数仓分层,数仓建模),数仓建模方法(星型模型,雪花模型,星座模型)和步骤

数仓建模的核心概念 事实表(Fact Table): 存储业务过程的度量值(如销售额、订单数量等)。 通常包含外键,用于关联维度表。 维度表(Dimension Table): 存储描述性信息&…

【靶机渗透实战】AI:WEB:1

靶机下载官网AI: Web: 1 ~ VulnHub 靶机描述 Difficulty: IntermediateNetwork: DHCP (Automatically assign)Network Mode: NATThis box is designed to test skills of penetration tester. The goal is simple. Get flag from /root/flag.txt. Enumerate the box, get low…

【limit 1000000,10 加载很慢该怎么优化?】

在 SQL 数据库中,使用 LIMIT 子句进行分页查询时,如果偏移量(offset)很大,查询性能可能会变得非常差。 这是因为数据库需要扫描和跳过大量的记录才能到达所需的起始位置,然后再取出所需的记录数。 例如,LIMIT 1000000, 10 表示跳过前 100 万条记录,然后取接下来的 10…

zookeeper的zkCli.sh登录server报错【无法正常使用】

如果zookeeper使用zkCli.sh登录的时候老是频闪,没有办法正常使用,大概率是与java的版本不兼容 [zookeeperPostgreSQL bin]$ ./zkCli.sh Connecting to localhost:2181 2025-02-05 19:23:53,933 [myid:] - INFO [main:Environment100] - Client envir…

初始JavaEE篇 —— Spring Web MVC入门(下)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 初始JavaEE篇 —— Spring Web MVC入门(上) 在上篇文章中,我们学习了一些注解的使用、Postman模…

Linux:线程的互斥与同步

一、买票的线程安全 大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间内,这种情况,变量归属单个线程,其他线程无法获得这种变量。 但有时候,很多变量都需要在线程间共享,这样…

ESP学习-1(MicroPython VSCode开发环境搭建)

下载ESP8266固件:https://micropython.org/download/ESP8266_GENERIC/win电脑:pip install esptools python.exe -m pip install --upgrade pip esptooo.py --port COM5 erase_flash //清除之前的固件 esptool --port COM5 --baud 115200 write_fla…

Agents Go Deep 智能体深入探索

Agents Go Deep 智能体深入探索 核心事件 OpenAI发布了一款先进的智能体“深度研究”,它能借助网络搜索和推理生成研究报告。 最新进展 功能特性:该智能体依据数百个在线资源生成详细报告,目前仅支持文本输出,不过很快会增加对图…

【ubuntu24.04】 强制重启导致大模型的磁盘挂载出错

挂载NTFS文件系统出错 各种模型放在了这个机械硬盘上,虽然速度慢,但是好在容量大。大模型在工作,但是程序看起来有问题,导致系统卡死了,然后我重启了,然后报错:wrong fs type bad option &…

1.14学习总结

日常刷题单 刷了题目后,对于排序方法更加熟练,手搓代码的速度也得到了提高。 感觉字符串还不熟练,高精度更是云里雾里,上升空间极大。 同时看见今晚有个入门难度的测试,去练了练手,想看看自己是什么成分&…

vscode环境搭建

目录 一、安装VSCode 二、安装Python 三、安装Anaconda(可选,但推荐) 四、安装深度学习相关库 五、配置VSCode 六、 结果可视化 一、安装VSCode 访问官网下载:从VSCode官方网站下载适合你操作系统的安装包。安装:运行安…