- 博客(23)
- 收藏
- 关注
原创 Python学习 #未完成
字典的键必须是不可变类型,如字符串、整数或元组。字典推导式也是一种方便的方式来创建字典,例如 {x: x**2 for x in range(5)} 可以创建一个包含 0 到 4 的平方的字典。列表可以通过索引访问元素,也可以进行添加、删除、修改等操作。元组是一种不可变的有序集合,一旦建立,其元素不能被更改。字典是一种无序的键值对集合,通过键来访问对应的值。列表是一种可变的有序集合,可以包含不同类型的元素。可以创建一个包含 0 到 9 的平方的列表。集合是一种无序的、不包含重复元素的集合。
2025-01-15 11:40:26
311
原创 快速排序学习优化
首先,上图。‘’’int partSort(int *a ,int left,int right){int keyi = left; //做左侧基准while(left
2024-12-29 00:05:18
327
原创 SPI通讯
W25Qxx系列是一种低成本、小型化、使用简单的非易失性寄存器, 常应用于数据存储、字库存储、固件程序存储等场景。存储介质:Nor Flash时钟频率:80MHz/160MHz(Dual SPI)/320MHz(Qual SPI)存储容量(24位地址)
2024-07-30 21:52:27
1190
原创 学习嵌入式必会的知识点
Ram和Rom的区别RAM(Random Access Memory)掉电之后就丢失数据读写速度快2.ROM(Read Only Memory)掉电之后仍然可以保持数据FLASH 存储器又称闪存,它结合了Rom和Ram的长处,不仅具备可擦除可编程的性能,还不会断电求实数据同属可以快速读取数据DRAN和SRAM
2024-07-30 14:56:09
168
原创 Linux学习
s 显示目录占用空间的大小,不显示旗下子目录和文件占用的磁盘空间大小。使用apt包管理工具,apt可以自动下载,配置,安装。使用gedit打开某个文件命令 gedit。** sudo su 进入root命令。进程实时运行状态查看命令 top。数据同步写入磁盘命令 sync。当前的系统进程查看命令 ps。创建文件命令 touch。删除文件夹命令 rmdir。文件类型查看命令 file。系统信息查看命令 uname。创建文件夹命令 mkdir。切换用户身份命令 sudo。
2024-07-29 18:37:01
342
原创 I2C通信
SCL低电平期间,主机将数据位依次放到SDA线上(高位先行),然后释放SCL ,从机将从SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即发送一个字节。:主机在发送完一个字节之后,在下一个时钟接受一位数据,判断从机是否应答,数据0表示应答,数据1表示非应答(主机在接受之前,需要释放SDA):主机在接受一个字节之后,在下一个时钟发送一个数据,数据0表示应答,数据1表示非应答。1.所有的I2C设备的SCL连在一起,SDA连在一起。低电平向下拉杆子,高电平放手。
2024-07-21 09:32:28
752
原创 MCU内部组件和DMA 的介绍
DMA(Direct Memory Access)直接存储器存取DMA 可以提供外设和存储器或者存储器和存储器之间的高速数据输出,无须CPU干预,节省了CPU的资源。12个独立可配置的通道 : DMA1(7个通道),DMA2(5个通道)每个通道都支持软件触发和特定的硬件触发通道的意思是 从一个地方转移到另一个地方就需要一个通道STM32F103C8T6 DMA资源: DMA1(7个通道)(1)想把flash里的一批数据,转运到SRAM里去 ---- 软件触发。
2024-07-15 17:29:14
1898
原创 make工具和makefile的引入-----更新中
当源码文件比较多的时候不合适直接输入gcc命令来编译,这时候需要一个自动化的编译工具。利用这种自动编译可以大大简化开发工作,避免不必要的重新编译,make工具通过一个称为makefile的文件夹来完成自动维护编译工具,makefile文件描述了整个工程的编译,连接规则。
2024-07-15 10:30:23
241
原创 哈希表的介绍
std::unodered_map底层实现为哈希表,std::map 和std::multimap底层实现是红黑树,同理可可知std::map和std::multimap的key也是有序的(这个常作为面试题,考察对语言底层的理解)当我们要使用集合来解决哈希问题的时候,优先使用unordered_set, 因为它的查询和增删效率最优,如果需要集合是有序的,那么使用set,如果要求不仅有序还要求重复数据的话,那么就用multiset。例如要查询一个名字是否在这所学校里?
2024-07-14 15:57:21
294
原创 更新中---韦东山FreeRTOS快速上手
空闲任务(Idle 任务)的作用: 释放被删除的任务的内存。为什么必须由空闲任务?它的任务都是事件驱动的:平时大部分时间处于阻塞状态。有可能我们自己创建所有任务都无法执行,但是调度器必须能找到一个可以运行的任务:所以我们要提供空闲任务。在使用vTaskStartScheduler()函数来创建、启动调度器时,这个函数内部会创建空闲任务:1.空闲任务优先级为0:他不能阻碍用户任务运行。2.空闲任务要么处于就绪态,要么处于运行态,永远不会阻塞。
2024-07-09 21:44:01
1025
原创 PWM介绍
舵机是一种根据输入PWM信号占空比来控制输出角度的装置输入PWM信号要求:周期为20ms,高电平。由有原理图:可以看出把PWM当做一个通讯协议,也是一个常见的应用。在这里插入图片描述直流电机是一种将电能转换为机械能的装置,有两个电极,当电极正接,电机正转,当电极反接时,电机反转。直流电机输入大功率器件,GPIO口无法直接驱动,需要配合电机驱动电路来操作TB6612是一款双路H桥的直流电极驱动芯片,可以驱动两个直流电极并控制其转速和方向。
2024-06-30 22:12:32
692
原创 江协---调试方法,OLED,中断
旋转编码器:用来测量位置,速度或者旋转方向的装置,当其旋转轴旋转时,其输出端可以输出与旋转速度和方向对应的方波信号,读取方波信号的频率和相位的信息即可得知旋转轴的速度和方向。//1.配置时钟---- gpio的,AFIO的。//2.配置Gpio-//3. 配置AFIO,选择我们用的这一路gpio,连接到exit//4.配置EXTI,选择边沿触发方式,比如上升沿,下降沿。触发响应方式 中断响应和事件响应//5. NVIC,给我们中断选择一个合适的优先级。
2024-06-27 17:12:52
570
原创 设计链表----代码随想录
链接:定义一个结构体。由于index从0开始。意味着index的范围是0-_size-1.current 是从头结点开始。在index节点插入一个新节点,例如那么新插入的节点为链表的新头结点。那么我需要找到index节点之前的节点。那么我们可以像之前的获取index元素一样。但是与获取index元素不一样的是,我们先将cur挂在 dummyHead 上。
2024-06-25 20:37:46
322
原创 STM32--GPIO输出
在上表IO电平当中写有FT的就是可以容忍5V的引脚,这个容忍是指可以输入5V的电压。所有的GPIO都挂载到APB2外设总线上的寄存器是特殊的存储器,内核可以通过APB2总线对寄存器进行读写stm32的寄存器都是32位的,但是端口只有16个,所以只有低16位有效,高16位无效输入模式下,有上拉和下拉,浮空。为了给输入提供一个默认的高低电平。浮空是既没有上拉和下拉, 电平极易受到外界的干扰。施密特触发器 , 由于是外界给输入的.。对信号进行整形。
2024-06-24 21:01:01
821
原创 Pytorch 设置随机种子Seed来保证训练结果可复现性
随机种子(Random Seed)是计算机专业术语。一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数。按照这个理解,我们如果可以设置最初的 真随机数(种子),那么后面出现的随机数将会是固定序列。以random库为例,我们使用如下的代码,前两次为随机生成,后两次为设置随机数生成器种子后生成。# 生成随机整数print("第一次随机生成")# 生成随机整数print("第二次随机生成")# 设置随机数生成器种子# 生成随机整数。
2024-01-31 11:04:53
2630
1
原创 # Numpy User Guide笔记1:NumPy Quickstart Tutorial
[https://numpy.org/doc/stable/user/index.html](Numpy User Guide官方网址)本文是Numpy quickstart这一教程的简单学习笔记你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
2023-07-21 18:46:24
132
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人