自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TIM输出比较

舵机的内部工作流程大概的执行逻辑:PWM信号输入到控制板,给控制板一个指定的目标角度,然后这个电位器检测输出轴的当前角度,如果大于目标角度,电机就会反转;第四步:配置GPIO,把PWM对应的GPIO口,初始化为复用推挽输出的配置,这个PWM和GPIO的对应关系是怎样的,可以参考引脚定义表。第三步:配置输出比较单元,里面包括CCR的值,输出比较模式,极性选择,输出使能这些参数,在库函数里也是统一来配置的。直流电机是一种将电能转换为机械能的装置,有两个电极,当电极正接时,电极正转,当电极反接时,电机反转;

2023-07-13 20:23:21 258

原创 TIM定时中断

选择ETR通过外部时钟模式1or2输入的时钟,参数:TIM_ExtTRGPrescaler,外部触发预分频器;这里可以对ETR的外部时钟再提前做一个分频,TIM_ExtTRGPolarity和ExtTRGFilter:输入的极性和滤波器;中间这个寄存器是捕获/比较寄存器,是输入捕获和输出比较电路共用的,因为输入捕获和输出比较不能同时使用,使用这里的寄存器是共有的,引脚也是共用的。选择ITRx其他定时器的时钟,参数:TIMx,选择要配置的定时器;单独用来配置ETR引脚的预分频器、极性、滤波器这些参数的;

2023-07-11 19:59:44 177

原创 EXTI外部中断

此函数是用来锁定GPIO配置的,调用这个函数,指定某引脚,那么这个引脚的配置会被锁定,防止意外更改。用来软件触发外部中断的,调用这个函数,参数给一个指定的中断线,就能软件触发一次这个外部中断。此函数是用来复位AFIO外设的, 调用这个函数,AFIO外设的配置会全部清除。中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得。对状态寄存器的读写。中断优先级(中断的紧急程度):当有多个中断源同时申请中断时,

2023-07-06 16:49:22 117 1

原创 OLED调试工具

3.keil调试模式:借助keil软件的调试模式,可使用单步运行、设置断点、查看寄存器及变量等功能。STM32的引脚上电后,如果不初始化,默认是浮空输入的模式,在这个模式下,引脚不会输出电平,无影响。OLED显示屏:性能优异的新型显示屏,具有功耗低,相应速度快,宽视角,轻薄柔韧等特点。1.串口通信:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息。2.显示屏调试:直接将显示屏链接到单片机,将调试信息打印在显示屏上。OLED:有机发光二极管。

2023-07-05 14:41:09 89

原创 stm32——GPIO输入

按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动(可以加一段延时来过滤)推荐使用:“stdint关键字”这一列;这是新版库函数使用的方式,也是c语言stdint.h头文件里提供的官方定义。uint8_t a;//等效于unsigned char a;用途:定义一个取值受限制的整形变量,用于限制变量取值范围;用途:将一个比较长的变量类型名换个名字,便于使用;按键:常见的输入设备,按下导通,松手断开。关键字:typedef。关键字:struct。

2023-02-20 15:15:55 138

原创 stm32——GPIO输出

2、引脚电平:0v~3.3v,部分引脚可容忍5v(可以在这个端口输入5v的电压,也认为是高电平。作用:对输入电压进行整形。执行逻辑:如果输入电压大于某一阈值,输出就睡瞬间升为高电平,如果输入电压小于某一阈值,输出就睡瞬间降为低电平。##推挽输出下P-MOS和N-MOS均有效,数据寄存器为1,连接P-MOS,高电平;4、输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。##上拉输入模式(高电平输入模式)下拉输入模式(低电平输入模式)

2023-01-17 19:47:23 4781

原创 stm32——新建工程

是STM32的外设寄存器描述文件,用于描述STM32有哪些寄存器和它对应的地址的。misc.c是内核的库函数,其他的就是内核外的外设库函数。此文件是用来配置库函数头文件的包含关系的。加启动文件时:根据型号选择文件。这两个文件是内核的寄存器描述。有“小钥匙”表示为只读文件。是用来存放中断函数的。

2023-01-16 21:20:01 274

原创 robomaster电控学习(11.7-11.13)

M3508是一款自带绝对编码器(范围0-8191)的减速电机,因为输出轴和电机轴之间有减速比.所有不能直接使用电机编码器反馈的角度,需要进行换算-,只要编写者清楚中断到来的时刻,就能知道每一时刻中单片机在执行哪段代码,另外裸机工程由用户手动分配堆栈,所以总体上。没有运行OS的计算机统称为裸机,一般我们利用中断和循环构建前后台系统完成的工程都是裸机工程。任务调度和堆栈分配都是由OS来完成的,编写者不知道其内部的执行情况。OS的好处是能够有效的提高单片机的资源利用效率,一方面是。裸机工程是完全可控的。

2022-11-14 09:24:22 793

原创 robo电控——跑马灯、蜂鸣器实验,按键输入

芯片默认为浮空状态,即IO口电平不确定,接10K电阻,小电流经过10k电阻接地,就不会经过B级,所以只有电流达到一定级别才会经过B级,从而过三极管,被放大,使得蜂鸣器响。#BEEP引脚输出高电平,三极管导通,蜂鸣器发声。反之,输出低电平,三极管截止,蜂鸣器关闭。作用:读取某个GPIO的输出电平。提示:IO口输出高电平,LED灭,输出低电平,LED点亮。作用:对IO口的模式,输出速度,上下拉的设置。指定:那一组IO口下的哪个IO口。GPIO输出方式:推挽输出。4个设置输出电平函数。2个读取输出电平函数。...

2022-08-10 10:40:49 262

原创 robomaster电控——GPIO

输出端相当于三极管的集电极.要得到高电平状态需要上拉电阻才行.适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)输出控制电路为0,则N-MOS开启即有效;(与浮空输入区别接上了上边的那个开关,并加了一个上拉电阻【30-50k】)输出控制电路为1,则N-MOS无效;输出控制电路为1,则P-MOS导通,N-MOS截止;输出控制电路为0,则P-MOS截止,N-MOS导通;E=512K字节的闪存存储器】【4=16K字节的闪存存储器。C=256K字节的闪存存储器。6=32K字节的闪存存储器。......

2022-07-24 22:29:03 533

原创 微信小程序学习(跟着b站的黑马程序员视频所学)

创建小程序项目1、目录(为空白文件夹)2、AppID(在小程序网页中)3、后端服务(不使用云服务)4、语言(JavaScript)查看项目效果编译、预览(在真机上查看)项目结构1、项目组成部分① pages 用来存放所有小程序的页面② utils 用来存放工具性质的模块(例如:格式化时间的自定义模块)③ app.js 小程序项目的入口文件④ app.json 小程序项目的全局配置文件⑤ app.wxss 小程序项目的全局样式文件⑥ project.co

2022-05-16 22:01:40 809

原创 RM电控(更新中……

c语言相关static1、加了static前缀的函数,例如:static void,则此函数只能在当前文件中使用2、在定义变量前加了static前缀,则这些变量可在当前文件中的其他函数被调用这些变量若在初始时未赋值,编译器自动赋值0;且在下次函数执行时该变量保持不变extern1、若在一个文件a.c中要引用b.c文件的int V;则要在a.c中声明变量,声明变量前加extern例如extern int V(在头文件中做声明)2、定义函数时前可加可不加extern联合体un

2022-05-14 23:13:07 740

原创 div容器;浮动;做出百度;盒子模型

一、html常用标签(1)a:跳转标签(2)img:图片标签(3)div:容器标签行内:本身有多大,占据的网页位置就有多大a、img块级:宽度一定占据网页的一整行,高度由内容自动撑大——容器A、宽度一定占据网页端一整行,高度由内容自动撑大B、用于页面分割(分割思路:将一个页面尽可能的切割,切割成你能够解决的最小单元格)二、浮动(1)(3)解决由于子元素全部设置浮动导致的页面紊乱问题A、给父元素一个固定的高度(4)文字环绕效果三、盒子模型概念:css假定

2021-11-24 20:49:18 376

原创 函数,库函数,参数,嵌套调用和链式访问,声明和定义,递归

一、函数是什么维基百科:函数是子程序子程序是一个大型程序的某部分代码,有一个或多个语句构成。它负责某项特定任务,与其他代码相比,它具备独特性。二、库函数常用函数总结:IO函数:输入输出函数,printf,scanf,getchar字符串操作函数(库):strlen、strcmp内存操作函数:memcpy、memcmp时间、日期函数:Sleep(100)数字函数:pow(2,3)————>2的三次方使用库函数的时候,一定一定要包含相应的头文件三、自定义

2021-11-18 19:36:12 485

原创 指针,结构体

指针内存:计算机中的程序运行都是在内存中进行系统:32位——32根地址线——通电为1(不通电为0)地址线通上电之后,形成了1和0的二进制序列(电信号——>数字信号)————————————————————————————————————bit(比特)byte(字节)kbmbgb(1byte=8bit,其余都为1024进制)—————————————————————————————————————————指针总结:1、指针变量的作用:存放别人的

2021-11-15 16:29:22 1138

原创 Switch-case(11.4)

分支结构c语言是一种结构化程序语言1、顺序结构2、选择结构(if—else,if—else,if—else,switch)3、循环结构(for,while,do while,go to)语句c语言中,由分号 “ ; ” 隔开的代码称为一条语句printf(“hello”);else只会寻找最近的ifswitch//分文结构里的switch//语句格式switch (整形表达式){ case 整形赏量表达式: 语句;...

2021-11-08 15:59:55 562

原创 飞扬的小鸟

1、为了让图片不频闪,方法如下:BeginBatchDraw(); //开始批量绘制(图片)EndBatchDraw();//结束批量绘制2、只读取图片的某个区域

2021-10-24 12:22:57 124

原创 操作符,关键字

3/2=1; 3.0/2=1.5; 3/2.0=1.5; 3.0/2.0=1.5;6788992479237983790723907590372590999999999999999999999999999999999999单目操作符(操作符可以不使用括号)“!”(逻辑反操作符); “-”(负数反操作符); “+”(正数操作符); "&"(取地地址操作符)。“sizeof”(操作数的类型长度操作符)——————————————————————...

2021-10-14 19:09:19 84

原创 c语言(循环作业讲解)

1、else(除了if以外的所有情况,不带任何条件的)2、先编译①选择要调试的行数②点Debug——点Next line——再点Next line……(一步步执行)3、%(后面加一个 “.2” 数字表示保留的小数位)4、比较 a,b,c 并按从大到小的顺序排列int main(){ //1、定义三个整形变量 int a=0; int b=0; int c=0; int tem=0; //2、输入三个整型变量的数值 scanf...

2021-10-05 09:14:15 65

原创 for、while循环

1、for(循环变量赋初值;循环条件;循环变量增值){代码块}(循环变量增值在代码块之后运行)i++(i=i+1);i--(同理)2、while(循环条件){代码块循环变量增值;}

2021-10-05 09:13:45 55

原创 常量、字符串、数组、转运字符

//数据类型//字符数据类型//char -- 字符数据类型 -- char ch = 'a';//%c//整数类型 10、1、2、100、1000 int age = 18;short year = 2021;// short --短整型%u// int -- 整型//%d print("%d", a)// long -- 长整型%ld// longlong -- 更长的整型%lld//浮点型--小数类型 float wei...

2021-09-28 09:13:32 324

原创 数据、整数、浮点类型,变量

函数值的返回类型 函数名称(){ 函数体;}//数据类型//字符数据类型//char -- 字符数据类型 -- char ch = 'a';//%c//整数类型 10、1、2、100、1000 int age = 18;short year = 2021;// short --短整型%u// int -- 整型//%d print("%d", a)// long -- 长整型%ld// longlong --...

2021-09-23 22:23:28 81

空空如也

空空如也

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

TA关注的人

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