- 博客(19)
- 收藏
- 关注
原创 STM32F4控制继电器
继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
2023-07-28 15:57:24 702
原创 STM32F4/STM32F1手把手移植MPU6050欧拉角(HAL库,带源码)
【代码】STM32F4/STM32F1手把手移植MPU6050欧拉角(HAL库,带源码)
2023-07-21 13:48:50 2522 5
原创 STM32F4+0.96OLED+IIC代码讲解
SSD1306内置对比度控制器、显示RAM(GDDRAM)和振荡器,以此减少了外部元件的数量和功耗。数据或命令由通用微控制器通过硬件选择的6800/8000系通用并行接口、I2C接口或串行外围接口发送。SSD1306是一款带控制器的用于OLED点阵图形显示系统的单片CMOS OLED/PLED驱动器。#define OLED_CMD 0X00 //命令地址。SCL---接单片机IO,作为IIC的SCL引脚。SDA---接单片机IO,作为IIC的SDA引脚。VCC---3.3V或5V。
2023-07-06 14:16:34 2039 2
原创 STM32F4(HAL)读取二氧化碳传感器
二氧化碳是空气中的主要成分之一,与咱们的日子密切相关。跟着现代社会的不断进步,二氧化碳传感器被广泛地运用,来优化咱们的生产和日子,如监测农业温室中的二氧化碳含量并及时通风以添加作物产量,监测矿井中的二氧化碳浓度以确保工人的安全等。本次实验已UART传输信号为例。
2023-06-30 11:02:18 945
原创 STM32F4读取DHT11数据
GND: 地线VCC: 连接3V~5.5V均可DAT: 数据总线,连接MCU的IO口DHT11只有一根数据线,所以是半双工通信模式。
2023-06-25 16:59:12 417
原创 STM32F1串口通信
一般只会用到发送完成这个位来判断数据发送完成和读数据非空这一位来判断从机向主机发送数据。第四位:当串口空闲了,产生中断,这位用于表示串口已经接收到了一堆数据并传输完成了。仅用到第13~12位:用于设置usart的停止位数,一般选择1位停止位。四、USART_SR寄存器:通过状态寄存器来判断哪一个功能出现了响应。第五位:接收缓冲区非空使能,表示当接收缓冲区不为空的时候产生中断,第十位:是否有校验位,如果有第九位选择校验。第12位设置一个数据帧数据的长度,第13位:usart控制使能,
2023-06-15 16:53:08 170
原创 STM32F1ADC配置步骤
1.首先确定adc的最小刻度,参考电压+和参考电压- 、然后看adc转换的位数 ,((参考电压 +) -( 参考电压- ))/ adc转换的位数,规则组转换序列,其中20~23位标志规则组中有几个通道进行转换,这个是将通道排序,如果想让通道16第13个转换就将16写入SQ13这几个位中。其中stm有16个外部通道,单次模式是只转换一次,或者连续转化,扫描模式开启:转换组内其他的通道,不开启只转换指定的通道。在F1中这个位不但起到给ADC上电的功能,还有触发规则组转换的功能,F4中这个位只起到上电的功能。
2023-06-15 09:55:02 1742
原创 STM32F1高级定时器
5、带死区的互补输出(控制电机等)因为互补输出中硬件的延时可能倒是互补输出的两个通道高调平接地,导致烧毁。4、互补输出通道只有1~3通道(channel),互补输出就是你高我就低你低我就高这种,就是跟你反着来,3、在高级定时器中,如果想要使能输出(PWM)或者互补输出必须额外将BDTR寄存器中的MOE位置位。1、高级定时器比通用定时器的基础上增加了,重复计数器,互补通道输出,刹车功能。2、重复计数器的值为定时器溢出次数,对应关系为重复计数器的值N+1次溢出次数。高级定时器1 和 8。
2023-06-14 15:47:25 260
原创 适用于F1和F4位带操作
下面的操作就是 *((volatile unsigned long *)(addr)) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)
2023-06-04 19:45:53 135
原创 stm32中用Systick做延时函数
The processor has a 24-bit system timer, SysTick, that counts down from the reload value to zero, reloads (wraps to) the value in the LOAD register on the next clock edge, then counts down on subsequent clocks.(在STMF10xx编程手册中摘抄,大概意思是它是24位的系统定时器,它的计数方式是向下计数
2023-06-04 12:42:46 590
原创 蓝桥杯NE555模块编程
蓝桥杯NE5551.将SIGNAL与P34短接是因为T0的外部输入引脚,可用来做计数功能,T1的时钟输出,因此用T0作为NE555的计数器,T1作为的定时功能,根据规定设计定时时间,在T1中将前一秒的数据赋值给显示函数的缓冲区中来显示。其中两者电压均小于各自的参考电压时放电管截至,两者电压均大于各自的参考电压时放电管导通,NE555是纯硬件的设计,当硬件电路确定了,其中的功能也相应确定,不能对其进行编程。2.显示函数,用定时器1来刷新每一位的,将显示缓冲区的数据显示到数码管中,其中也将数据缓冲区的数据刷新。
2023-03-12 18:05:44 1060
原创 类和对象定义
c++中面向对象三大特性:封装,继承,多态 类是一类事物的统称,是定义实例的模板, c++中万物皆可为对象,对象上有其属性和行为。以下是定义一个圆类,包含圆中需要的Π这个成员变量和成员方法,并在main中实例化圆这个对象,注意的是类是一个模板。
2022-12-05 20:47:59 245
原创 c++中函数默认参数
函数的默认参数 1.如果我们自己传入数据,使用自己的数据,如果没有,那就用默认值,优先使用的是调用函数时传入的值 语法:返回值类型 函数名(形参 = 默认值){ } 注意:在某个位置上有默认参数,那之后定义的形参必须都得有默认参数 返回值类型 函数名(形参1,形参2,形参3 = 默认值,形参4 = 默认值){ } 2.如果函数的声明有默认参数,函数的实现就不能有默认参数 声明和函数的实现只能有一个有默认参
2022-12-04 12:49:25 604
原创 C++中的引用类型
语法:数据类型 &别名 = 原名; 用别名操作原名的内存,相当于指针 !!引用必须初始化 引用初始化后不可以更改 相当于-> 指针常量 引用相当于指针,在编译的时候编译器直接做解引用操作 引用做函数的返回值 1.不要返回局部变量的引用
2022-12-04 12:20:39 476
原创 java类的定义和对象的创建
类的创建,对象的定义,类的创建对象的定义,类中的变量分为全局变量,局部变量,方法参数,异常处理参数,注意的是以上的变量定义的时候不能出现同名的变量,但是不同作用域内可以出现相同的变量名。创建的类是抽象的,通过对象才能引用类中的方法,所以说类是对象的抽象,对象是类的实例,对象拥有类内部的方法和变量,通过创建的对象调用类。类的修饰符:public private 、protected、static等,class是创建类的关键字。一个类中至少有一个构造方法,在你未创建构造方法时,系统自动创建一个无参的构造方法。
2022-10-12 22:39:58 631
原创 用Java编写找到姐妹素数对
String s = JOptionPane.showInputDialog("300-350姐妹素数");//如果是素数将arr1赋值true,否则为false。//判断arr1和arr2是否全为素数。* 找到300-350中的姐妹素数对,用SWing输出。//一个数能被自己的2/1整除就是素数。//是的话赋值个arr1。//遍历300-305。//导入swing函数。
2022-10-06 23:13:36 860
原创 随机摇色子1000次,记录筛子出现数字的个数
/让1-6出现1次,否则循环可以用while ,do while。//是1-6对用数组自增退出循环,否则继续。//将随机摇的筛子赋值给数组;* 1.需要数学函数来随机生成1-6的随机数。* 题:随机摇色子1000次,记录出现数字的个数。* 2.定义数组存储1-6出现的个数。//定义数组存储1-6出现的个数。* 3,让1-6出现1000次。* 4,输出。
2022-10-05 23:49:49 940 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人