自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 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 412 1

原创 Python部分库函数

列表推导式时一种创建新列表的便捷的方式,可根据一个列表中的每个元素通过某种运输按或者筛选得到另一个系列的新数据,创建一个新列表。file值读取文件后创建的对象。当切片不连续时,要求用于替换的新列表与原列表切片元素数量相同,再按顺序一一替换,替换元素数量不相同时,返回ValueError。第i个元组的数据可以为各可遍历对象的第i个元素组成的元组,知道所有的可遍历对象中最短的元组最后一个元素组成的元组为止。以字符串为作为分隔符,将参数中的字符串元素拼接成一个新的的字符串,当参数中存在非字符串元素时,返回异常。

2024-06-19 19:27:23 834

原创 【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 1001

原创 【7-2】AD单通道

AD单通道接线图(连PA0)AD多通道接线图。

2024-06-13 20:20:17 740

原创 【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 1019

原创 【6-8】编码器接口测速

输入捕获单元,编码器只使用了滤波器与边沿检测极性,可以使用TIM_ICStructInit()来初始化捕获单元的各个通道。另外,调用TIM_ICInit之后,就已经将函数写入硬件中了,所以无需再次定义结构体,可以直接初始化通道2的模式。GPIO初始化阶段,需要使用PA6与PA7两个引脚,另外对于输入模式,需要根据外部输入来判断使用,外部外部模块默认输出的是高电平则使用上拉输入,默认输出低电平则使用下拉输入。设置1s的时间是为了配合手摇的低速,如果选用的是电机等设备,可以将间隔时间调低。3.时基单元的配置。

2024-06-04 20:31:23 186

原创 【6-7】TIM编码器接口

工作流程:编码器接口可以接受增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲自动控制CNT自增或者自减,从而只是编码器的位置、旋转方向和旋转速度。当反转时,B相提前A相90度,对应的是负值。每个高级定时器以及通用计时器都只有一个编码器接口,一个定时器使用了编码器接口,就基本无法使用其他功能,所以本款芯片C8T6最多使用4个编码器接口,但是此外,还可以使用外部中断来接编码器。之前一直对PSC使用的72MHz的内部时钟,时基单元初始化设置的计数方向都不会使用,都处于编码器托管的状态,受编码器控制。

2024-06-04 18:49:26 259

原创 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 829

原创 【6-4】 PWM控制的呼吸灯、舵机程序

【注意,标注“*”的部分属于了解即可,无需过多关注】

2024-06-02 19:04:31 863

原创 【6-5】TIM输入捕获

触发源选择选择CI1FT1作为触发源,从模式选择复位操作。输入每条线路上的滤波器和边缘检测器各有两套,比如TI1与TI2,TI1进行两套输入滤波和边沿检测之后可以选择性的将信号传输给IC1或者IC2,目的是可以灵活使用TI,更重要的原因是,将一个引脚的输入痛同时映射到两个捕获单元,是PWMI模式的经典结构。1.测频法:在闸门时间T内,对上升沿(也可也是下降沿,极性不同而已,效果等价 )计次,得到N,则频率fx = N/T,适合测量高频信号,数据跟新频率满,数据更加稳定,自带一个杂波过滤,受杂波影响较小。

2024-05-31 20:13:23 352

原创 6-1-2 定时器定时中断思路及程序

c.NVIC_IRQChannelPreemptionPriority与NVIC_IRQChannelSubPriority:选择定时器的抢占优先级与响应优先级,此处无用,分别填写2/1即可。前者为周期,定义ARR的值,后者为PSC预分频器的,二者共同决定计时器的定时时长,如果想要定时1s,则二者乘积要为75000000.二者取值都在0-65535之间。指定时钟分频,滤波器的基本工作原理:在固定的时钟频率下,进行采样连续N个采样点电平相同,则代表输入信号稳定,采样频率越高越精准,但相应的延迟也会增大。

2024-05-28 19:02:05 764

原创 【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 730

原创 6-1-1 配置定时器定时中断所需要的所有函数

此处函数共分为三部分:一、时基单元及后面的所有配置所需要的函数,5个二、时基单元之前的时钟控制相关函数,6个三、后期调试使用的函数,7个。

2024-05-26 20:44:35 888

原创 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 698

原创 【3-4】按键控制

使用硬件电路从此开始,需要开始使用模块化的编程方式(即是建立.c与.h文件)

2024-05-13 21:00:58 658

原创 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 411 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 196

原创 STM32的GPIO输出学习(1)

GPIO(General Purpose Input Output)通用输入输出口,共可以配置八种输入输出模式引脚电平:0~3.3V,部分引脚输入时可以忍受5V的电压,需查看用户手册来判断是否支持该功能,带有FT(Five Tolerate)的可以容忍5V。

2024-04-29 21:13:09 389

原创 C语言常见概念

常见的有VS2022,XCode,DEV C++,Clion等,其中VS2022功能齐全但是安装占用内存较大,是微软应用,XCode是苹果系统应用,继承了clang系统,DEVC++体积小,使用方便快捷,国内一些比赛常会使用,但是不适合养成长期的代码编写习惯,Clion默认使用CMode,但是需要收费(有一个月的试用期).集成开发环境(IDE)是提供程序开发环境的应用程序,继承了代码编写,编译,链接分析功能等一体化的开发软件的服务套。创建新项目:创建新项目-空项目-命名,并且确定项目存储位置。

2024-03-30 10:53:32 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除