自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝牙模块串口通信

在stm32f1xx_it.c中可以使用接收中断函数。1000是溢出时间timeout。

2024-11-06 19:17:35 192

原创 霍尔编码器配置

TI1 and TI2表示双触发模式,即A相和B相的上升沿都会触发编码器计数。uwTick每1ms加1。Encodor.c文件。Encodor.h文件。

2024-11-06 17:37:15 181

原创 hal库驱动电机

全速运行,占空比100%的配置。main.c中的使用。

2024-11-06 13:17:52 182

原创 HC-SR04超声波测距模块

回响信号引脚:配置成外部中断,上升沿产生中断,打开单片机内部定时器,开始定时,下降沿再产生中断,读取定时器里面的值,该值为高电平的时间。触发引脚:需要10μs的高电平,设置成GPIO。HC_SR04.h文件。HC_SR04.c文件。

2024-11-06 01:01:05 160

原创 _weak弱修饰符

假如工程中存在了一个__weak 修饰符的函数,用户还可以在工程中重新定义一个与之同名的函数,最终编译器编译的时候,会选择没有__weak 修饰符的函数,如果用户没有重新定义新的函数,那么编译器就会执行 __weak 声明的函数,并且编译器不会报错。原文链接:https://blog.csdn.net/m0_37697335/article/details/81628417。其实函数名称前面加上 __weak 修饰符,我们一般称这个函数为“弱函数”。首先弱是相对的,具体弱在哪里?

2024-11-05 23:47:37 288

原创 硬件I2C

删除软件I2C的MyI2C文件。

2024-11-02 19:34:05 245

原创 hal库软件I2C——cubemax配置

2024-11-02 17:46:21 166

原创 问题:../Core/Inc/OLED_Font.h(6): error: #20: identifier “uint8_t“ is undefined

关于stdint.h,参考以下。

2024-11-02 17:07:08 208

原创 hal库OLED的配置

【代码】hal库OLED的配置。

2024-11-02 16:54:33 261

原创 解决:..\Core\Src\MyI2C.c(82): warning: #188-D: enumerated type mixed with another type

把数字1/0换成GPIO_PIN_RESET/GPIO_PIN_SET,警告消失。以以下代码为例,这里有3个警告。在gpio.c的文件中找到。

2024-10-31 00:36:01 472

原创 ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h(95): error: #101: “DMA1_Channel3_IRQn“ h

删除:标准库复制过来的。

2024-10-31 00:22:26 640

原创 HAL库串口

实现发送一个字符,一个数组,一串数字。

2024-10-25 20:46:59 766

原创 标准库串口收发数据包

通过这个程序可以使在VOFA+中输入 @LED_ON。产生的现象 LED灯点亮。输入 @LED_OFF。

2024-10-24 01:45:30 259

原创 静态变量

代码2中,我们从输出结果来看,i的值有累加的效果,其实 test函数中的i创建好后,出函数的时候是不会销毁的,重新进⼊函数也就不会重新创建变量,直接上次累积的数值继续计算。代码1的test函数中的局部变量i是每次进⼊test函数先创建变量(⽣命周期开始)并赋值为0,然后++,再打印,出函数的时候变量⽣命周期将要结束(释放内存)。1.static修饰局部变量。

2024-10-23 22:35:45 322

原创 标准库——串口

Seiral.cSerial.hmain.c现象:写了数组的函数最后只收到了最后一位,出现的问题是标红部分忘记加了//等待TDR的数据转移到移位寄存器,避免发送数据覆盖//USART_FLAG_TXE为发送数据寄存器空标志位。

2024-10-23 17:09:55 1675

原创 hal库PWM驱动电机

【代码】hal库PWM驱动电机。

2024-10-18 11:12:27 264

原创 hal实现PWM驱动舵机

在文件stm32f1xx_hal_tim.c中寻找定时器的驱动函数。CCR:500~2500(可调整)配置定时器2的通道2。

2024-10-18 09:35:35 259

原创 hal库实现PWM呼吸灯

在stm32f1xx_hal_tim.c文件中找到pwm的驱动函数。CCR的值默认20(可以先不用配置,后面会有一个函数可以修改)main函数while中设置CCR的值。配置定时器2(TIM2)在main函数中调用。

2024-10-18 08:11:30 171

原创 hal库定时器外部时钟源

的函数,该函数将作为定时器周期性中断的回调函数。在定义这个函数时,你需要编写需要周期性执行的代码。if (htim->Instance == TIM3)和if (htim == &htim3)语句的作用是判断当前使用的定时器是否为TIM3。在hal库中也有专门的函数。

2024-10-17 12:26:24 348

原创 hal库定时器定时中断

只是笔记基本是文章补充一些知识:如何配置定时器时间,设置ARR和PSC的值开启中断寻找更新中断回调函数三、代码编写配置完HAL库后,用户只需要在初始化中开启和编写定时器中断回调函数即可。MSP初始化,中断服务函数等,CubeMX均已经完成这些工作。

2024-10-17 00:18:17 1940

原创 hal库复刻江协实现旋转编码器中断

左边接了一个10K的上拉电阻,默认没旋转的情况下,这个点被上拉为高电平,通过R3这个电阻输出到A端口的也就是高电平;当旋转时,内部的触点导通,则这个点就直接拉低到GND了,再通过R3输出,A端口就是低电平了,R3是一个输出限流电阻,是为了防止模块引脚电流过大的,C1是输出滤波电容,可以防止一些输出信号抖动。原文链接:https://blog.csdn.net/luckyme_/article/details/140226159。配置PB0 PB1为下降沿触发。

2024-10-16 17:46:39 277

原创 Keil编程时代码会覆盖后面的内容怎么处理

键,改写模式---->改为插入模式。

2024-10-16 17:25:38 589

原创 hal库复刻江协实现红外对射传感器中断

第二种配置(通过回调函数的方式来实现功能)(只需要在main中配置即可)设置PB14中断引脚。

2024-10-16 11:53:47 181

原创 不要随便修改CubeMax的文件命名

导致运行后,原先要使用的模块无法使用。

2024-10-16 11:07:14 174

原创 解决hal库只能下载一次的问题

通过上面的方法之后再打开CubeMax。

2024-10-16 09:59:38 237

原创 解决OLED显示屏刷新慢的问题

打开高速晶振时钟修改时钟参数。

2024-10-16 09:20:39 584

原创 stm32—st-link如何才能不用按复位键直接烧录

Reset and Run 打钩。

2024-10-15 22:03:08 390

原创 为什么无法烧录(Load键是灰色,无法点击)

2024-10-15 21:53:39 168 1

原创 STM32学习笔记

选择Serial wire 才能用st-link调试工具。Cubemax的配置——LED闪烁。高速时钟晶振——外部晶振时钟配置。

2024-10-15 21:37:01 116

空空如也

空空如也

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

TA关注的人

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