自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 矩阵键盘222

case 0x08: //1000 判断为该列第1行的按键按下。case 0x01: //0001 判断为该列第4行的按键按下。case 0x08: //1000 判断为该列第1列的按键按下。case 0x02: //0010 判断为该列第3列的按键按下。case 0x01: //0001 判断为该列第4列的按键按下。//定义一个数组,存放列扫描状态。//如果为1,代表没有按键被按下,如果为0,代表有按键被按下。

2024-06-21 00:43:05 407

原创 (野火)f103vet6lcd3.2寸移植

并且可以返回hal库操作界面初始化以下几个引脚:LCD_TP(touch_panel)触摸屏引脚初始化的意思。当移植完之后 , 将lcd源码里的fsmc和引脚初始化函数删除 , 因为已经在hal库中生成。最后还有三个led引脚需要初始化,但如果不需要用到,也可以在代码中相关部分删除即可。在hal库里面直接生成的FSMC并不包括RST引脚和BL背光引脚。要对着板子的原理图看 , 看配置是否正确,是否每个都有配置到。,如果只需要进行显示操作的话,到这一步就完成了。然后将野火源码的三个文件移植到文件之中。

2024-03-08 12:59:04 230 1

原创 I2C (学习笔记)

硬件I2C会自动执行时钟生成、起始终止条件生成,应答位收发和数据收发等功能。控制寄存器(CR):用于配置和控制芯片的工作模式、写保护和其他功能。I2C的通信速度是由时钟线的频率决定,时钟频率决定了数据传输的速度。停止信号:空闲信号 SCL为高电平时,SDA从低电平变高电平。起始信号开启前是从模式,开启后是主模式,停止后变回从模式。硬件IIC传输数据的时候是先到移位寄存器->数据寄存器。IIC一般是一主多从,每个设备都会有独自的地址。硬件IIC的移位寄存器是高位先行,所以向左移位。硬件电路会自动反转电平。

2023-12-28 22:40:51 377 1

原创 软件模拟SPI读W25QXX

并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议。主机和从机的交互: 主机和从机会交换一个字节 , 这就需要说到spi的各种不同的模式 , 但最常用的还是模式0 , 就是当CPOL = 0 , CPHA = 0 的时候 , 特征就是 当CS线是高电平时, SCK默认低电平状态 , 当进行交换数据时就是说主机会在SCK的上升沿状态下移入数据 , 这也是说主机需要在上升沿来之前就要先移出数据。

2023-12-28 21:48:52 1181 1

原创 F103vet6在hal库中ADC-DMA多通道的配置

还有重要的配置就是选择地址需不需要自增 ,一般来说都是通过外设读取数值存储到一个数组中 ,需要用数据的时候直接调用数组变量即可 , 这也即是说外设到地址的传输,外设不自增 , 地址自增即可。在使用DMA时,大家要知道,以f1为例 , DMA1有7个通道 , DNA2有5个通道 , 而这每一个通道都有对应的功能,而不是随便配置就行。5 、 ADC的通道有17个之多 ,每一个都对应着不同的引脚 , 如果使用标准库的话,就需要自行打开手册去查找相对应的。ADC->DR是源地址,num就是定义的数组。

2023-12-20 19:42:26 420

原创 多功能小巧超级无敌好用的按键开源函数

一直以来都是通过按键消抖的方式去创建一个自己想要的按键功能函数 , 现在有了mottibutton这个开源函数,就非常方便了。中间这个变量名的作用就是对应按键按下去所需要的功能 , 这个变量在button.h文件中可以找到。大家在测试的时候需要在while里每5ms调用一次这个函数 , 表示每5m唤醒一次。在主函数内需要调用的函数就这3个 , 然后我说下需要被调用的函数有哪些。注意的是(所有需要用到的引脚都是需要自行初始化的)这个函数的功能也就是,按键按下后所需要做的操作。下载文件的按钮在这里。

2023-12-19 16:50:36 879 1

原创 输入捕获测量按键时间

输入捕获

2023-12-18 00:52:31 82 1

原创 实现单定时器输出多路不同频率的pwm

这样就可以很快的得到对应频率所需要的占空比。这样便能够实现一个定时器输出多路不同频率且可调占空比的多个通道了;最后贴出,学习这位博主的【stm32输出比较模式与PWM模式总结 - CSDN App】http://t.csdnimg.cn/N2wNJ。2、自动重装载需要关闭,并且将输出模式设置成翻转模式,开启的通达的重载载也需要关闭。将输出函数开启中断即可,当只是做测试的时候 , 无需在while()里面做任何事。可以使用任意通用定时器和高级定时器 , 配置成输出比较模式, 开启中断。

2023-12-17 10:45:10 787 2

原创 串口接收中断回调函数注意要点

设置重装载值的函数是__HAL_TIM_SetAutoreload , __HAL_TIM_SetCounter这个函数只是设置计数值,和重装载无关系。如果要正常接收完整数据 , a[ x]方括号里面的x可以填大一点的值 ,不能不填 ,并且配合sizeof()函数使用即可。

2023-12-12 19:21:25 164

原创 ESP01S烧固件库-51连接阿里云测试

usb-ttl的txd 接上 01s的rxd , 01s的txd 接上usb-ttl的rxd;最后再将所有的gnd都接一起 , 必须共地 , 01s上的vcc接入usb-ttl的5v端口 , EN端接usb-ttl的3.3v端口;GND-GND 、 TX-RX , RX-TX相交连接;在这个网站上打开,(注意:01s只能下载这个固件包),其他的都是4M以上的,无法烧录。首先要做的是,这个过程网上很多教程都是可以用的,大家看其他家的就可以了。大概就是在安信可的官网上下载固件包 , 刷固件的软件和串口助手。

2023-12-09 13:48:26 709 1

原创 学习笔记(仅供学习)

然后初始化led11, 如果要重定义,就在引脚初始化下面加上这个GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;下面:定时器的预装载功能开启的期间,重新设置重装载值需要等到下一个更新事件到来时才能够生效,HAL_TIM_SET_COMPARE:设置占空比函数在定时器库函数的1385行。先要初始化配置定时器的参数,然后再在Msp函数中进行配置 CLOCK GPIO。GPIO_ex.h在GPIO.H文件的213行打开。如果需要使用定时器控制引脚,就需要使用复用推挽等。

2023-12-05 15:11:48 23 1

原创 学习STM32Hal库串口总结知识点笔记

可以通过已知条件baud和Fck,通过公式反推出其他未知数,USART_CR1寄存器位15设置为0是16倍过采样,设置为1是8倍过采样。HAL_UART_MspDeInit()该函数是反初始化函数(也就是说可以在该函数中调用失能时钟或者其他功能的用途)异步通信:无时钟线,在数据帧中有起始位和停止位(必须要有的) (注)起始位(低电平)停止位(高电平)HAL_UART_IRQHandler()异步 HAL_USART_IRQHandler()同步。LSB(最低有效位)在前,MSB(最高有效位)在后。

2023-07-12 23:04:31 111 1

空空如也

空空如也

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

TA关注的人

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