- 博客(29)
- 收藏
- 关注
原创 7.文本内容处理sort,uniq,out,cat,comm,diff
sort将文件的每一行作为一个单位,互相比较,比较原则是从首字符向后,以此按照ASCII码值进行比较,最后哪找升序输出按逆序输出排序结果。
2025-06-02 19:33:57
138
原创 6.linux文本内容显示cat,more,less
将text.txt和t1.txt的内容合并写入到t2文件中,并且text.txt内容在前,t1.txt内容在后。eg:将文件t1的内容加上行号(空白行不加)后输入到t2文件末尾。适用于较大的文本文件,空格显示下一页,b返回上一页内容,q退出。tail -n +10:显示第十行及以后一直到文件尾部的内容。tail -n 10:显示文件最后10行内容。这将允许你在终端中输入文本,直到按下。从低n行开始显示文件内容,n代表数字。显示指定文件前若干行内容,默认10行。,然后将输入的内容保存到。
2025-06-02 12:37:48
400
原创 5.linux VI编辑器
vi是linux经典的文本编辑器vim是vi的强化版本,兼容vi所有指令,还有shell程序编辑功能,可以辨别语法正确性。一般使用vim三种工作模式。
2025-05-29 16:15:31
350
原创 4.linux文件类型
设备文件:第一个符号为“b”的是块设备文件,第一个符号位“c”的是字符设备文件,颜色为黄色。linux文件类型主要分为4种,普通文件,目录文件,设备文件,链接文件。普通文件:第一个符号为“-”,颜色为黑色或者白色。连接文件:第一个符号为“|”,颜色为浅蓝色。目录文件:第一个符号为“d”,颜色为蓝色。可以使用ls -l,查看第一个字符。链接文件有问题:红色闪烁。
2025-05-29 15:40:41
92
原创 3.mkdir新建目录命令与touch新建文件命令
创建新的目录(文件夹)Make Directorymkdir [-p] linux目录参数必填,表示即将创建的目录路径.参数可选.-p,自动创建不存在的父目录,用于创建连续多层的目录创建文件夹时,必须要在home目录中创建,否则会因为权限不足报错.权限不足可以使用su以及sudo命令。
2025-05-29 14:55:32
214
原创 2.linux目录切换命令:cd与pwd以及路径与路径符
切换当前工作目录cd没有选项,直接执行,只有参数.如果没有参数,表示回到用户的home目录。
2025-05-29 14:36:24
291
原创 Linux目录结构与命令基础与ls命令
linux的目录结构是一个树形结构,只有一个根目录:/,所有文件都在他下面。而win有多个根目录,每一个盘符都是一个根目录在linux系统中,路径的层级关系使用“/”表示。而一般来说,开头的 /表示的是根目录而win中,使用“\”表示。
2025-05-29 14:12:08
283
原创 常量。。。
3.#define定义的标识符常量,被定义的内容可以是int等型数字常量,也可是字符串与字符。使用const修饰的变量,本质上还是变量,无法作为数组的长度进行使用。1.字面常量,如‘x’,“啊阿ff”,12,等等常量。2.const常变量。
2024-09-05 14:44:19
201
原创 Python题目
当输入满足要求是,用多分支语句实现百分制转5分制.实现规则是[0,60),[60,70),[70,80),[80,90),[90,100],分别输出字符EDCBA。有10名学生的Python课程成绩为94,89,96,88,92,86,69,95,78,85,利用列表分析成绩输出平局值,最高的三个成绩,最低的三个成绩,成绩中位数。现在有包含若干学生学习资料的文件,每位学生都有4门课程,要求读取附件文件中的数据,计算每个学生的平均成绩,并添加到最后一列,然后按照平均分升序排序后输出。
2024-06-23 20:11:45
685
1
原创 Python部分库函数
列表推导式时一种创建新列表的便捷的方式,可根据一个列表中的每个元素通过某种运输按或者筛选得到另一个系列的新数据,创建一个新列表。file值读取文件后创建的对象。当切片不连续时,要求用于替换的新列表与原列表切片元素数量相同,再按顺序一一替换,替换元素数量不相同时,返回ValueError。第i个元组的数据可以为各可遍历对象的第i个元素组成的元组,知道所有的可遍历对象中最短的元组最后一个元素组成的元组为止。以字符串为作为分隔符,将参数中的字符串元素拼接成一个新的的字符串,当参数中存在非字符串元素时,返回异常。
2024-06-19 19:27:23
962
原创 【8-1】DMA直接存储器存取
DMA(Direct Memory Access)直接存储器存取。DMA有对所有寄存器的访问权限,故而可以进行寄存器之间的互相存贮DMA可以传递寄存器(运行内存SARM和程序存储器Flash)和外设(一般指外设的数据寄存器DR)、寄存器与寄存器之间的高速数据传输,无需CPU干预,节省了CPU资源12条可配置的通道,DMA1(7条),DMA2(5条),但STM32 f103c8t6只有DMA1的7条通道。
2024-06-15 18:00:18
1397
原创 【7-1】ADC数模转换器
Analog-Digital Converter 数字-模拟转换器1.ADC可以将引脚上连续变化的电压转化为内存中存储着的数字变量,建立模拟变量到数字变量转换桥梁。对应的,还有从数字变量到模拟变量的桥梁DAC,不过部分功能还是会被PWM所替代2.本设备为12为逐次逼近型ADC,转换时间为1us,这两个数据对应着两个变量,分辨率(0-4095)和转换频率(最大为1MHz)3.输入电压范围:0-3.3V,展示的ADC的值:0-4095,二者是一一对应的线性关系。
2024-06-12 19:13:43
1343
原创 【6-8】编码器接口测速
输入捕获单元,编码器只使用了滤波器与边沿检测极性,可以使用TIM_ICStructInit()来初始化捕获单元的各个通道。另外,调用TIM_ICInit之后,就已经将函数写入硬件中了,所以无需再次定义结构体,可以直接初始化通道2的模式。GPIO初始化阶段,需要使用PA6与PA7两个引脚,另外对于输入模式,需要根据外部输入来判断使用,外部外部模块默认输出的是高电平则使用上拉输入,默认输出低电平则使用下拉输入。设置1s的时间是为了配合手摇的低速,如果选用的是电机等设备,可以将间隔时间调低。3.时基单元的配置。
2024-06-04 20:31:23
280
原创 【6-7】TIM编码器接口
工作流程:编码器接口可以接受增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲自动控制CNT自增或者自减,从而只是编码器的位置、旋转方向和旋转速度。当反转时,B相提前A相90度,对应的是负值。每个高级定时器以及通用计时器都只有一个编码器接口,一个定时器使用了编码器接口,就基本无法使用其他功能,所以本款芯片C8T6最多使用4个编码器接口,但是此外,还可以使用外部中断来接编码器。之前一直对PSC使用的72MHz的内部时钟,时基单元初始化设置的计数方向都不会使用,都处于编码器托管的状态,受编码器控制。
2024-06-04 18:49:26
327
原创 6-6输入捕获测试频率&PWMI测试频率占空比
• PWM 频率: Freq = CK_PSC / (PSC + 1) / (ARR + 1)• PWM 占空比: Duty = CCR / (ARR + 1)• PWM 分辨率: Reso = 1 / (ARR + 1)由此可见,可以通过只改变PSC,而不改变ARR来保证只调整PWM频率1.定义一个函数,用于改变PWM的频率PWM_SetPrescaler()调用函数TIM_PrescalerConfig(),单独写入PSC的函数参数1:选择定时器TIM2;
2024-06-03 20:01:55
895
原创 【6-5】TIM输入捕获
触发源选择选择CI1FT1作为触发源,从模式选择复位操作。输入每条线路上的滤波器和边缘检测器各有两套,比如TI1与TI2,TI1进行两套输入滤波和边沿检测之后可以选择性的将信号传输给IC1或者IC2,目的是可以灵活使用TI,更重要的原因是,将一个引脚的输入痛同时映射到两个捕获单元,是PWMI模式的经典结构。1.测频法:在闸门时间T内,对上升沿(也可也是下降沿,极性不同而已,效果等价 )计次,得到N,则频率fx = N/T,适合测量高频信号,数据跟新频率满,数据更加稳定,自带一个杂波过滤,受杂波影响较小。
2024-05-31 20:13:23
439
原创 6-1-2 定时器定时中断思路及程序
c.NVIC_IRQChannelPreemptionPriority与NVIC_IRQChannelSubPriority:选择定时器的抢占优先级与响应优先级,此处无用,分别填写2/1即可。前者为周期,定义ARR的值,后者为PSC预分频器的,二者共同决定计时器的定时时长,如果想要定时1s,则二者乘积要为75000000.二者取值都在0-65535之间。指定时钟分频,滤波器的基本工作原理:在固定的时钟频率下,进行采样连续N个采样点电平相同,则代表输入信号稳定,采样频率越高越精准,但相应的延迟也会增大。
2024-05-28 19:02:05
841
原创 【6-3】TIM输出比较
1.OC(Out Compare)输出比较IC(Input Capture)输入捕获CC(Capture/Compare)输入捕获的输出比较的单元2.输出比较模块的主要功能:输出比较可以通过比较CNT与CCR寄存器值(捕获/比较寄存器,Register,寄存器)的关系,来对比输出电平进行置1、0或者翻转的操作,用于输出一定频率和占空比的PWM波形通道可用于输入(捕获模式)或输出(比较模式),通道的方向由相应的CCxS定义。该寄存器其它位的作用在输入和输出模式下不同。
2024-05-27 20:43:30
811
原创 6-1-1 配置定时器定时中断所需要的所有函数
此处函数共分为三部分:一、时基单元及后面的所有配置所需要的函数,5个二、时基单元之前的时钟控制相关函数,6个三、后期调试使用的函数,7个。
2024-05-26 20:44:35
1031
原创 EXIT外部中断相关函数的介绍
复位GPIO外设,使其全部清除锁定GPIO的配置用来引脚重映射,参数1可以选择要重映射的的方式,参数2是新的状态外部中断所需要的函数,可以用来配置AFIO的数据选择器,来选择我们想要的中断引脚选择GPIO pin作为外部中断线,参数1选择某个GPIO外设作为外部中断源,可以是 GPIO_PortSourceGPIOx,其中x可以是A到G;参数2需要指定配置的外部中断线,可以选择GPIO_PinSourcex,其中x可以是0~15此处代表连接PB14号口的第14个中断线路与以太网有关。
2024-05-20 21:32:52
738
原创 STM32的GPIO输出学习(3)GPIO模式以及其他硬件设备
GPIO端口一共可以配置8种模式在GPIO中他们分别代表模拟输入 GPIO_Mode_AIN (Analog IN)浮空输入 GPIO_Mode_IN_FLOATING下拉输入 GPIO_Mode_IPD (In Pull Down)上拉输出 GPIO_Mode_IPU (In Pull Up)开漏输出 GPIO_Mode_Out_OD (Out Open Drain)
2024-05-08 20:14:56
507
1
原创 STM32的GPIO输出学习(2)GPOI硬件输出部分
(2)开漏输出模式下,P-MOS无效,只有N-MOS进行工作,但是图中的“输出控制”模块依旧 只会进行原先的操作:即在输出寄存器为1时,N-MOS断开,输出断开,为高电阻模式,没有电流输出;上侧位P-MOS,下侧为N-MOS,MOS管是一种电子开关,信号控制开关的导通与关闭,开关负责将IO口接到VDD或者VSS上,可以通过选择推挽输出、开漏输出和关闭三种模式来控制MOS管的状态。(1)在推挽输出模式下,P-MOS与N-MOS均有效,数据寄存器为0时,上导下断,输出接VDD输出高电平。
2024-05-08 19:33:49
271
1
原创 STM32的GPIO输出学习(1)
GPIO(General Purpose Input Output)通用输入输出口,共可以配置八种输入输出模式引脚电平:0~3.3V,部分引脚输入时可以忍受5V的电压,需查看用户手册来判断是否支持该功能,带有FT(Five Tolerate)的可以容忍5V。
2024-04-29 21:13:09
438
原创 C语言常见概念
常见的有VS2022,XCode,DEV C++,Clion等,其中VS2022功能齐全但是安装占用内存较大,是微软应用,XCode是苹果系统应用,继承了clang系统,DEVC++体积小,使用方便快捷,国内一些比赛常会使用,但是不适合养成长期的代码编写习惯,Clion默认使用CMode,但是需要收费(有一个月的试用期).集成开发环境(IDE)是提供程序开发环境的应用程序,继承了代码编写,编译,链接分析功能等一体化的开发软件的服务套。创建新项目:创建新项目-空项目-命名,并且确定项目存储位置。
2024-03-30 10:53:32
253
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人