- 博客(21)
- 收藏
- 关注
原创 Keil5 添加 Compiler Version 5
4、运行之前解压的文件中的ARMCompiler506_b960.msi文件,然后点击next。(2)找到选项Folders/Extensions。2、找到Keil MDK的ARM 文件夹。5、把路径改为刚刚创建的文件夹ARMCC。(右击快捷方式打开文件所在位置寻找)文件夹选择刚刚创建安装的ARMCC。(1)点击小魔方(魔法棒旁边)现在魔术棒里可以选择编译器5了。6、接下来一步一步点击即可。7、打开keil5开始配置。3、在ARM文件夹中创建。1、将安装包解压到本地。
2024-08-16 17:01:09
274
原创 C++第二阶段-类
封装:属性华人行为作为一个整体将属性和行为加以权限控制类和对象class 类名{//访问权限三种:1、公共权限public 成员 类内可以访问 类外可以访问2、保护权限protected 成员 类内可以访问 类外不可以访问3、私有权限private 成员 类内可以访问 类外不可以访问(学习到继承的时候会看到保护权限和私有权限的区别:儿子可以访问父亲中的保护内容儿子不可以访问父亲中的私有内容)//公共权限public:属性(半径)
2023-11-30 16:57:54
964
原创 PID算法
还是用上面的例子来说明,第一次的误差error是0.8,第二次的误差是0.4,至此,误差的积分(离散情况下积分其实就是做累加),∫error=0.8+0.4=1.2. 这个时候的控制量,除了比例的那一部分,还有一部分就是一个系数ki乘以这个积分项。由于这个积分项会将前面若干次的误差进行累计,所以可以很好的消除稳态误差(假设在仅有比例项的情况下,系统卡在稳态误差了,即上例中的0.8,由于加入了积分项的存在,会让输入增大,从而使得水缸的水位可以大于0.8,渐渐到达目标的1.0.)这就是积分项的作用。
2023-10-27 13:49:56
43
原创 6、PWM驱动
另一方面是下面这一路,也是主要的去向,通过下路到达一个极性选择区,由图,给这个信号写0,信号就会往上走,就是信号电平不用翻转的意思,给这个信号写1,信号就会往下走,信号通过一个非门取反,输出的信号就是输入信号高低电平反转的信号。也就是说,使用这个PWM波形,是用来。左下角这种高低电平跳变的数字信号,是可以等效为中间这个虚线(曲线)所表示的模拟量的,当上面的电平时间长一点,下面电平时间短一点的时候,那等效的模拟量就偏向于上面,当下面电平时间长一点,上面电平时间短一点的时候,等效的模拟量就等效于下面。
2023-10-24 14:52:04
250
原创 5、TIM定时器中断(STM32)
/使能中断输出信号(中断输出控制)--(TIMx选择定时器,TIM_IT选择要配置的中断输出,状态使能或者失能)#这种ITConfig函数使能外设的中断输出。CK-PSC预分频器的输入时钟,选内部时钟的话,一般为72Mhz,然后这个时钟在不断的运行////注:定时器的库函数在stm32f10x_tim.h里。//选择捕获通道的时钟(TIMx选择一个定时器,选择TIx具体的某个引脚,输入的极性和滤波器)对于外部引脚的波形,有(输入的)极性和滤波器会更灵活。//单独写预分频值(预分频值,写入的模式)
2023-10-24 08:58:25
243
1
原创 4、对射式红外传感器计次&旋转编码器(STM32)
编码盘上像光栅一样的东西,金属触点间隔,在旋转时,依次接通和断开两边的触点,重点是,这个金属盘能让两侧触点的通断产生一个90度的相位差,最终配合外部电路,这个编码器的两个输出就会输出这样的波形。这种相位差90度的波形就叫正交波形,带正交波形信号输出的编码器,是可以用来测方向的,这就是单向输出和双向输出的区别。用来测量位置、速度或旋转方向的装置,当其旋转轴旋转时,其输出端可以输出与旋转速度和方向对应的方波信号,读取方波信号的频率和相位信息即可得知旋转轴的速度和方向。类型:机械触点式/霍尔传感器/光栅式。
2023-10-23 00:16:47
349
原创 3、STM32EXIT外部中断(STM32)
(简单来说,就是引脚电平变化,申请中断)(1)触发方式:上升沿:就是电平从低电平变到高电平的瞬间触发中断。下降沿:就是电平从高电平变到低电平的瞬间触发中断。双边沿:上升沿和下降沿都可以触发中断软件触发:就是引脚啥事没有,程序里执行一句代码就能触发中断。注意:•支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断,意思比如PA0和PB0不能同时用。(2)通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒;
2023-10-22 23:28:47
779
1
原创 2、按键控制LED&光敏传感器控制蜂鸣器&OLED显示屏(STM32)
(需要在文件夹新建Hardware,然后”三方块“和”魔术棒“里正常操作,右边点击文件Hardware在里面创建.c和.h文件时,不要忘记最下面的路径选择)在Hardware里存放驱动函数led.c和led.h;key.c和key.h。当输入函数没有提示时,可以”Ctrl+f+ 空格“
2023-10-19 00:09:04
669
原创 1、LED模块篇(STM32)
需要先定义一个结构体变量,然后再给结构体赋值,最后调用这个函数,这个函数内部就会自动读取结构体的值,然后自动把外设的各个参数配置好,这种Init函数在stm32基本所有的外设都有,一般初始化外设都是使用这个Init函数来完成的。然后我们把这个端口的模式换成Out_OD,开漏输出模式,再编译下载,此时LED还是高电平点亮方式,但LED不亮,说明开漏输出的模式下高电平是没有驱动能力的,再把LED引脚插入位置改回(即低电平点亮方式),LED亮,说明开漏模式的低电平是有驱动能力的。
2023-10-18 01:06:58
174
原创 独立按键模块
独立按键模块电路图(P31连接RXD,P30连接TXD) 按键一段统一连接着高电平(正GND),只要控制按键另一端P3_1,P3_0,P3_2,P3_3是否等于0,即可控制灯的亮灭。
2023-09-13 00:49:41
155
原创 LED模块学习
VCC为正电压直接连接着LED灯,而LED灯的负极连接着引脚,则控制LED灯是否亮的问题可转换为是否给LED灯负极端低电频的问题。单片机中低电平为0V相当于负极,高电平为5V相当于正极(TTL)。用串口调试器的软件延时计算器编写一个延时500毫秒的函数,并调用函数使得“亮”与“不亮”间隔500毫秒进行变化。系统频率应为12.000Hz,8051指令集:STC-Y5.1、点亮一个LED灯。
2023-09-12 22:28:29
139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人