- 博客(19)
- 收藏
- 关注
原创 FreeRTOS-软件定时器
顾名思义,软件定时器就是用来定时,到了设定的时间(周期)时会执行一些事情(回调函数自动装载定时器(周期性)、一次性定时器类似于闹钟,有周期性闹钟和一次性闹钟,周期性闹钟不需要你每天都去设置,但是一次性闹钟在完成一次后就会关闭,需要你手动设置开启;软件定时器相关的函数,比如xTimerStart()等,虽然是可以在普通的任务中调用,但并没有直接操作定时器,而是把命令发送到定时器命令队列,由DaemonTask(守护任务)读取并对执行和操作相关命令。
2024-06-14 16:34:34
829
原创 FreeRTOS-任务通知
不同于队列、信号量、互斥量,有一个额外的空间(结构体)作为通信的纽带,任务通知只需借助任务TCB中的相关变量,无需另外创建;其中,ulNotifiedValue是,ucNotifyState是。由此定义可知通知值、通知状态在同一时刻都只能存储一个数据/状态。可见,通知状态是站在接收者的角度,即。其中taskNOTIFICATION_RECEIVED也被称作(待处理的)。
2024-06-11 18:00:13
927
原创 FreeRTOS-事件组
事件组用一个整数来表示,每一位表示一个事件,事件未完成(未发生)为0,已完成(发生)为1。任务之间可以通过事件置0/1来实现相互之间的沟通;前面的队列、信号量、互斥量都能唤醒一个任务,而事件组可以唤醒多个任务。比如有多个任务等待事件bit0的发生,当bit0置1后,多个任务将被唤醒;总位数116032。
2024-06-09 14:54:50
1145
原创 FreeRTOS-队列基础
队列用于数据的传输,数据按照**“先进先出”**(FIFO)的规则;一般情况下,数据被放入到底部(Back)指向的位置(除非使用向头部写入数据的函数),被头部(Front)指向时被读出队列能够进行阻塞、唤醒,当接收任务发现队列为空时,会进入阻塞而不占用CPU,发送任务发现队列为满时也会进入阻塞,这样能够提高运行效率。拷贝(将数据值复制到队列中);引用(将数据的地址复制到队列中);队列的动态创建队列的阻塞访问。
2024-06-04 15:23:08
555
原创 vTaskDelay和vTaskDelayUntil的区别
下图(vTaskDelayUntil)的100ms则是以pre_time为始,以此为基础计算100ms,运行到vTaskDelayUntil再延时直至。并分别使用vTaskDelay和vTaskDelayUntil进行。,并用HAL_Delay函数保持其高电平,(有点类似于周期为100ms)(即高电平时间不一),之后。假如有一任务循环执行。
2024-06-02 08:31:10
443
原创 对int**类型的解引用含义
会比看作二维数组更好理解,即对指针returnColSize解引用得到一维数组(*returnColSize),随后的malloc、赋值等操作都是对该数组作用。把此处的returnColSize看作。
2024-02-24 08:55:29
416
1
原创 放大&耦合共射放大电路
由于电容的 “通过交流,隔离直流”的特性,被负载获取到的放大信号中没有直流信号的叠加;如果连接在黑色,则由于R_C随放大电流信号而变化的压降,R_L也获取到随之变化的压降;外部负载R_L用以接收放大信号,它需要连接在R_C下面的路线(黑色)而不能连接上上面(蓝色)。3. 电路必要组成条件:有源元件(控制能量,比如三极管I_B控制I_C,场效应管中U_gs控制I_d);R_c:将集电极电流I_c的变化转换成集-射电压U_CE的变换,以实现电压放大;如果要输出交流信号(即单纯的放大后信号),就需要用。
2024-02-05 12:29:52
842
2
原创 代码学习:最长回文子串
通过malloc函数,可以在堆区分配一块指定大小(size,单位为字节)的内存以存放数据。分配的大小为resultLength+1(补上‘\0’位)个char类型空间,并将该空间类型转换为指针变量赋值给result;其中,(len - 1) / 2为i与start之差,len / 2为i与end之差(由于是整形运算,只取整数位置)函数类型是void*(空指针类型),可以转换为其它类型的指针而不需要显性转换(但也可以写上类型转换语句);(若后面函数想在前面函数中使用,可在前面声明)// 寻找最长回文子串。
2024-02-04 10:31:26
534
1
原创 三极管(笔记1)
双极晶体管:BJT(Bipolar Juction Transistor),俗称三极管。(NPN型结构图:)e - 发射极;b - 基极;c - 集电极;发射区和基区形成的PN结称作发射结,集电区和基区形成的称作集电结。发射区:发射载流子(掺杂浓度浓度高)集电区:收集载流子(掺杂浓度低,面积大)基区:控制区。
2024-02-02 21:29:46
1383
原创 代码学习:滑动窗口
index[s[i]]=i+1,储存s[i]在该次循环中位置的后一位。当遇到新字符,index[s[i]]=0;当遇到重复字符时,index[s[i]]=i+1(上次的位置是i,+1对应其后面一位,即。数组index[128]以ASCII码值范围为大小,索引为ASCII中的字符。比如index['a']即index[97];开始),而窗口起始位start在该s[i]的前面,即start
2024-02-01 17:42:14
389
1
原创 代码学习:链表
链表的创建:创建一个结构体类型,元素包括【数据域】与【指针域】,每个链上的节点地址要赋值给上一节点的【指针域】(头节点除外)。carry是进位值,比如个位的6+6得2进1,1即进位值。函数类型是struct ListNode*,要返回节点1的指针(第一个有效节点的指针),系统会根据节点的链接遍历整个链表;不像数组那样有序,链表节点的地址是分散的,因而要创建指针p,当要处理新的节点时,通过指针找到节点。创建虚拟的头节点dummy,数据为0,地址为空(当要创建新节点再赋值);sum时要询问l1、2是否为空;
2024-01-31 21:52:16
607
原创 二极管的特性(笔记)
稳压二极管通过反向击穿时,大幅电流变化对应电压变化微小,实现稳压效果。采用反向击穿而非正向导通,使得稳定电压可调。室温左右条件下,每升高1℃,正向压降减少2~2.5mV;每升高10℃,反向电流增大1倍。温度越高,雪崩击穿所需电压高;温度越高,齐纳击穿所需电压低;温度系数α表示温度每增加1℃,稳定电压。反向击穿分为雪崩击穿、齐纳击穿;相同电压下,温度高的电流大;,5~6V以上雪崩击穿为主。,5~6V以下齐纳击穿。假设稳压二极管稳定电压。,只有击穿后才能稳压。稳压管与电源之间要加上。
2024-01-29 17:03:32
746
原创 逻辑门归纳
(NOT):只有一个输入信号的逻辑门,输出对输入信号。(AND):输入信号同时是高电平,输出为高电平。(OR):输入信号有高电平,则输出高电平。(XOR):输入信号电平互异,输出高电平。(以上可结合编程中的与&、或|、异或^)(NAND):先与门处理,再非门取反。(NOR):先或门处理,再非门取反。(该博客图源百度百科词条)
2023-12-17 22:52:58
1041
1
原创 位运算符总结
2.||:左边真,右边不计算(即前面条件已经成立,整个条件都成立,无需再看后者)1.&&:左边假,右边不计算(即前面条件不满足,整个条件都不满足)用于代码语句的逻辑。
2023-12-16 20:14:56
43
1
原创 【C语言】函数栈帧
(下面是本人学习的几篇博客链接,一个是非汇编的讲解,一个是有动图的讲解,对小白很友好,感觉受益匪浅。本博客基于对两篇文章的学习,尝试用简单汇编的方式讲解,如果你在以下两篇遇到了不太明白的问题,不妨看一下这篇。欢迎大家指出这篇博客其中的问题。
2023-12-12 22:50:57
409
原创 占位符及其种类
(本人小白一枚,以下内容为学习记录,若有错误或表述问题,希望能得到指正)占位符是一种特殊字符或字符串,用于表示将来要填充的值的位置,通常用于字符串替换或格式化。它们是在程序运行时动态生成的,以便将实际值插入到占位符的位置。可以在代码运行时为输入的数据进行占位,不同类型的占位有不同的格式,帮助程序员控制输出的格式,使代码更加简洁、易读。其中,不同的占位符代表不同的数据类型。
2023-12-10 10:02:09
3320
1
空空如也
关于vscode的scanf输入界面敲不了字
2024-05-13
关于二维数组的动态分配
2024-02-23
For循环i++的值。
2024-02-13
关于vscode运行、删除exe出现的问题
2024-02-12
C语言语句位置导致的结果不同
2024-02-10
关于VScode编译报错“winmain”
2024-01-21
C语言调试char类型变量出问题
2023-12-10
关于pcb布局和布线的问题
2023-11-03
关于leetcode第一题【两数求和】解答
2023-10-24
面包板的正负线作用的问题
2023-10-21
关于移位操作符在for的应用
2023-10-21
关于led灯正负极反插的问题。
2023-10-20
关于函数代址调用的输出情况
2023-10-06
关于分支语句的打印情况
2023-10-01
关于打印的排版问题。
2023-10-01
关于运行时出现debug error
2023-10-01
关于struct的内容打印问题
2023-09-11
关于在C语言使用Ctrl+K+C注释时的展示问题
2023-09-08
关于常变量证明的一个问题
2023-09-08
Python的展示问题
2023-07-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人