- 博客(26)
- 收藏
- 关注
原创 C++ 结构(Struct)
一、结构介绍C语言中的结构(Structure)是一种用户自定义的复合数据类型,用于将不同类型的数据组合成一个单一的实体。结构允许您在一个数据结构中存储多个不同类型的数据,这些数据可以通过结构的成员来访问。以下是结构类型的数据上面这一串结构类型虽然很长,但其就相当于int类型一样。如同在int后填变量名可以声明一个整型变量。,在结构类型后面填写变量名可以声明一个。如在上述代码中,timmy是由该结构声明的变量,它由4个成员组成。。
2023-09-05 00:26:09
1292
原创 STM32—SPI通信(上)
一、SPI通信协议SPI 为全双工SPI共有四根通信线:SCK(串行时钟线)、MOSI(主机输出从机输入)、MISO(主机输入从机输出)、SS(从机选择)。1.1、硬件电路所有SPI设备的SCK、MOSI、MISO分别连在一起 主机另外引出多条SS控制线,分别接到各从机的SS引脚 输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入 SPI通信线为单端信号,器电平高低都是相对GND的电压差,因此所有设备需共地。1.2、SPI 数据传输流程在时钟驱动(波特率发生器)下,SPI主
2023-09-02 22:26:03
1965
原创 STM32—I2C通信(上)
2.1、MPU6050参数其中,I2C从机地址通过改变AD0引脚输入电平改变其地址。如下图所示,左图AD0连接低电平。从机地址为1101000,右图AD0连接高电平,从机地址为1101001.下图为MPU6050电路原理图。其中SCL、SDA为I2C通信引脚,INT为中断信号输出。
2023-08-29 22:47:26
829
1
原创 STM32—DMA直接存储器
DMA存储器的介绍DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源。一、DMA总体架构图&配置图。
2023-07-09 12:34:14
408
1
原创 STM32—ADC数模转换
ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道。STM32F103C8T6 使用的是12位逐次逼近型ADC。//定义ADC时钟分频器。这个钟是APB2时钟(PCLK2),即下图部分。
2023-07-08 17:48:05
2383
原创 STM32—TIM系列(TIM编码器接口)
编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度。两个输入引脚借用了输入捕获的通道1和通道2,且无法使用通道3/4,。
2023-07-06 00:13:43
1727
2
原创 STM32——输入捕获IC(测试频率以及PWMI测试频率占空比)
输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数1.2、频率测量测量方法:测频法:在闸门时间T内,对上升沿计次,得到N,则频率等于测周法:两个上升沿内,以标准频率计次,得到N ,则频率对于中界频率:测频法与测周法误差相等的频率点当待测频率大于中界频率是采用测频法,反之使用测周法。
2023-07-04 20:09:47
2807
原创 STM32——PWM(呼吸灯&舵机使用)
参数1:选择定时器参数2:结构体TIM_OC2nit//定义结构体变量;//选择输出模式图2图2中分别对应着冻结模式、相等时置有效电平、相等时置无效电平(即低电平)、相等时电平翻转、PW1/PW2模式。
2023-06-24 23:04:29
1979
1
原创 2、STM32--EXTI(外部中断)&中断函数配置
本文主要是描述了外部中断信号从GPIO到AFIO到EXTI再到NVIC的具体配置详情。(不定期更新)
2023-06-04 11:25:20
2986
原创 1、STM32--GPIO
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13) //读取输入寄存器某一端口输入值。1.1GPIO_SetBits(GPIOA,GPIO_Pin_0) //将指定引脚置1,使其输出高电平。// 将指定引脚置0,使其输出低电平。
2023-06-02 23:07:14
485
原创 2.指针(下)
数组元素在内存中的存储可以保证是连续的,那么第一个元素的首地址,就是整个数组的首地址。注意,表达式 p + 1 必须先被括号包裹,再使用取值运算符*。,可以使用指针中的首地址和空间大小访问或修改目标数据对象。*p 的值为111, *p + 1 的结果为112。,获取第一个元素的首地址和空间大小,即获取一个。我们需要先让首地址移动,再进行取值操作。使用数组名获取数组首地址。访问数组元素的两种办法。更方便地获取首地址。
2023-05-06 17:07:51
47
原创 1.指针的奥秘
的首地址与大小(即取地址运算符&吧n 的首地址和大小赋给了变量pn),我们通过pn就可以在内存中找到变量。除了通过指针访问所指向的数据对象,也可以通过指针修改所指向的数据对象。写在一个数据对象的左边,可以获取一个数据对象的。取值运算符是一个一元运算符,写在一个指针的左边,可以。中的首地址与大小,找到的数据对象的值。中的首地址与大小,可以找到的数据对象的值。中的首地址与大小,找到的数据对象的值。数据对象占用存储空间大小。使用指针修改所指向数据对象。使用指针访问所指向数据对象。的首地址和所需空间大小。
2023-05-06 16:17:47
78
原创 电机的使用
/Speed清零,不超过4。if(counter>compare) //counter>compare,电机工作,反之停止。// speed增加。if(KeyNum==1) // 当按下k1。//取模操作,确保计数不会超过 100。TL0 = 0x9C;TH0 = 0xFF;代码:设置中断,每100us中断一次并执行内部指令。通过PWM来产生电机转速变化。
2023-04-25 21:57:18
198
原创 AT24C02(I2C数据总线)
SCL低电平期间,从机将数据位依次放到SDA线上(高位在前),然后拉高SCL,主机将在SCL高电平期间读取数据位所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次即可接收一个字节 (主机在接收之前,需要释放SDA,即SDA置1)在发送完一个字节之后,主机在下一个时钟接收一位数(主机据,判断从机是否应答,数据0表示应答,数据1表示非应答,在接收之前,需要释放SDA)在接收完一个字节之后,主机在下一个时钟发送一位数据,数据0表示应答,数据1表示非应答)即SDA=0,主机接收信息,反之停止接收。
2023-04-25 16:25:13
271
原创 蜂鸣器的使用——按键响应
Nixie(1,0);//数码管显示内容Nixie(1,0),1显示的是数码管的位码,0显示的是段码。//数码管显示内容Nixie(1,KeyNum),1显示的是数码管的位码,KeyNum显示的是段码。//接收独立按键的返回值 "Key()"已封装。//蜂鸣器的响应时间,已封装。蜂鸣器电路图,其控制端由P2^5口控制。
2023-04-15 14:35:00
235
原创 数码管的使用
/收集数码管可显示内容。void Nixie(unsigned char Location,Number) //定义一个函数。//段码输出,即选择所选LED显示什么数字。switch(Location) //位码输出,即选择绿色部分那个LED工作。1.图中绿色框选部分由74HC138译码器控制。
2023-04-15 14:02:58
91
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人