自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flash Timeout.Reset Target and try it again

enable 应该对应的是 level 1(flash 连接保护)disable 应该对应的是 level 0(无保护)

2025-03-13 11:12:09 166

原创 【自用】A22-模组

A22-模组是一款基于机器人自动控制应用而设计的超声波避障传感器,我使用的是RS485通讯协议。

2024-12-27 16:04:12 180

原创 RS485 RS232 Modbus UART IIC SPI【半双工/全双工】

RS485的典型应用是半双工,即同一时间只能传输单向数据。如果需要全双工通信,RS485也可以通过使用两对差分信号线来支持。是一种可用于半双工或全双工通信的串行通信协议,具体取决于配置和应用场景。默认情况下,USART通常是全双工的,即可以同时发送和接收数据。在某些情况下,USART可以配置为半双工模式,这种模式适用于只能在某一时刻进行单向传输的应用。RS232通常是全双工的通信协议,但它也可以在某些情况下用于半双工通信,取决于具体的应用和设备配置。I2C是半双工。

2024-12-26 16:57:43 1328

原创 【错误】未解决 expected a type specifier

就是打印一个printf 前面还可以 然后不知道为什么报这个错误 上午遇到的 然后重新建了个工程没有这问题 下午重新点开这个工程 编译过后 也是没有报错 太神奇了 中间有重启一次电脑 不知道有没有关系。

2024-12-11 16:51:36 433

原创 HAL_UART_RxCpltCallback 和 HAL_UART_RxHalfCpltCallback 区别

HAL_UART_RxCpltCallback 和 HAL_UART_RxHalfCpltCallback 都是 STM32 HAL 库中与 UART 接收中断相关的回调函数,它们用于处理接收数据的不同阶段,但它们的触发时机和应用场景有所不同。

2024-12-11 16:45:54 828

原创 ESP32_CAM 使用arduino IDE 【如何加入平台】

在附加开发板管理器中添加网址:https://dl.espressif.com/dl/package_esp32_index.json。方法一.打开arduino,在最上方的选项中选择。

2024-12-06 09:23:45 309

原创 安装Python环境,windows系统下

Windows 系统上如何安装 Python 环境(详细教程)

2024-12-05 10:44:21 122

原创 FreeRTOS实验报错未得到解决

在跟着正点做挂起和恢复实验时候。

2024-11-18 14:08:18 292

原创 【FreeRTOS学习】填充 0xa5 是为什么

为新任务的堆栈分配内存,并将其初始化为0xa5,目的是帮助调试和确保堆栈区域的正确性。通过memset函数,系统会将新任务的堆栈区域的每个字节填充为0xa5,并确保堆栈的总字节数是根据任务的深度和堆栈元素的大小来计算的。希望这样解释能帮你更好地理解这段代码!如果还有疑问,随时告诉我!

2024-11-14 16:25:05 674

原创 解读《ARM Cortex-M3 与Cortex-M4 权威指南》——第4章 架构

推荐大佬做的讲解 可以帮助加深理解Cortex-M3 和 Cortex-M4 处理器都是基于ARMv7-M架构需要完成对编程模型、异常(如中断)如何处理、存储器映射、如何使用外设以及如何使用微控制器供应商提供的软件驱动库文件等。

2024-11-14 11:27:35 1342

原创 【KEIL】错误

把20改小有用。

2024-11-08 14:34:27 173

原创 KEIL 编译出现 could not write file

但是打开文件属性发现是可以写入的。最后看到别人说重启就好了。

2024-11-08 11:45:57 684

原创 Win11输入法变成繁体

2024-11-08 10:48:43 128

原创 keil的debug 模式下查看动态数组中的值

数组名”+“,”+“数组大小” 即可。

2024-11-06 11:07:55 555

原创 解读《ARM Cortex-M3 与Cortex-M4 权威指南》——第3章 技术综述

Thumb 是 ARM ISA 的一个扩展,目的是在需要节省内存和提高代码密度的应用中,提供更高效的指令集。D-CODE 总线主要负责处理器内部和内存之间的数据传输,而系统总线则协调各个模块之间的通信,传输地址、数据和控制信号。它们都是 ARM 处理器的一部分,具有相同的底层硬件支持。**系统总线:**是更广泛的总线系统,涉及 地址、数据 和 控制信号 的传输,确保整个系统中各个组件的协调工作。**D-CODE 总线:**专注于传输 数据,包括从内存读取数据或向内存写入数据,或与外设的数据交互。

2024-11-05 10:55:58 1231

原创 Flash Timeout.Reset the Target and try it again

单独接link就行 然后。板子下载出现以上问题。

2024-10-31 13:40:02 162

原创 stm32驱动W2812

W2812 内置有控制电路和 RGB LED 灯珠,用户只需通过一条数据线进行控制每一个LED的R、G、B分别由八位数据控制颜色浓度,(每种颜色浓度有0~255档,理论上RGB就可以组成256的3次方中颜色组合)即每个LED需要24BIT数据,那么需要发送数据的总长度则为(要控制LED数量 n)*(24),每个LED保存24BIT将剩余位传给后面LED。全部数据发送完成后要继续发送大于24us的低电平作为RESET_CODE等才可以点亮。引用大佬文章。

2024-10-21 14:08:26 775

原创 如何检测串口线已经断开

特性硬件流控制软件流控制实现方式使用 RTS/CTS 信号线使用控制字符(如 XON/XOFF)延迟较低,反应速度快较高,可能导致延迟额外线路需求需要额外的线路和引脚无需额外线路数据传输影响不会影响数据传输控制字符占用数据位复杂性需要更复杂的硬件设计实现简单,适合软件控制适用场景高速或高负载场景数据流量较小或不频繁的场景通过以上方法,开发板能够有效地判断串口线是否断开,并相应地进行处理。选择合适的方法取决于具体的应用需求和硬件设计。

2024-10-21 11:04:13 1542

原创 小米CyberGear微电机 软件修改CAN_ID 注意事项

brief 设置电机CAN_ID(通信类型7)更改当前电机CAN_ID , 立即生效,@param[in] Target_ID 想要改成的电机ID。@param[in] Now_ID 电机现在的ID。@param[in] hmotor 电机结构体。

2024-10-18 11:43:34 502

原创 vscode 头文件处红色波浪线 函数不能跳转

每次点击OK 就行 还不知道为啥。

2024-10-16 16:29:27 134

原创 解读《ARM Cortex-M3 与Cortex-M4 权威指南》——第2章 嵌入式软件开发简介

使用开源工具链进行嵌入式开发时,尽管没有传统的IDE,依然可以通过Makefile和脚本实现高效的编译和调试流程。这种方法提供了灵活性和可定制性,适合于对开发环境有特殊需求的项目。

2024-10-16 15:47:03 1314

原创 解读《ARM Cortex-M3 与Cortex-M4 权威指南》——第1章 ARM Cortex-M处理器简介

Cortex-M3处理器可以执行一些数字信号处理(DSP)相关的任务,但它并不具备专门为DSP设计的指令集和硬件加速功能。具体来说,Cortex-M3支持基本的定点运算和一些简单的数学操作,但缺少Cortex-M4所提供的SIMD(单指令多数据)、快速乘法累加(MAC)和饱和运算等专用指令。因此,虽然Cortex-M3能够进行一些基本的数字信号处理,但在性能和效率上不如Cortex-M4。对于需要复杂数字信号处理的应用,Cortex-M4更为合适,因为它的设计更能满足这些需求。

2024-10-12 14:08:15 1086

原创 大疆电机M3508 PWM控制

然后这个占比就是 __HAL_TIM_SET_COMPARE 的第三个参数 除以ARR 就是1999+1。如 我使用的是TIM2 在F4芯片上 TIM2挂载在APH1上 APH1的时钟是84Mhz。如果不是1500 可以试试500 观察电调是否没有闪烁黄灯 正常闪烁绿灯ID。当使用PWM控制方式的时候 有两种模式 单向模式和正反转模式。以及需要将C620电调上面的120欧姆电阻 调整到off挡。然后注意好 该电机 在1000~2000 内有效。正常就可以再主函数while 循环内写入。

2024-10-11 14:18:36 1297

原创 pid调参

pid调参

2024-10-08 14:10:26 123

原创 STM32F407ZGT6配置can信号

引用大佬文章。

2024-09-27 12:35:47 194

原创 STM32F407ZGT6驱动sd卡+文件夹 并写入多组实时数据 基于cubemx生成

SD卡,全称Secure Digital卡,是一种常见的便携式存储设备,通常用于存储和传输数据。它是一种闪存存储卡。TF卡(TransFlash卡) 又称MicroSD卡,MicroSD卡比SD卡小,通常只有SD卡的1/4大小。在使用sd卡时候 十分推荐 以下我的文章会基于大佬的代码 再加上自己需求的代码STM32CubeMX教程28 SDIO - 使用FatFs文件系统读写SD卡对sd卡的sdio方式驱动十分清晰当我需要删除文件夹目录内的内容/*删除文件夹*/

2024-09-20 16:53:26 549

原创 us级别的延时办法 hal库

主频84M,99代表最大延时99us,因为不是使用中断,可以任意设定。

2024-09-13 16:24:35 395

原创 sd卡 【文件或目录损坏且无法读取】

sd卡损坏

2024-09-13 14:34:13 214

原创 eeprom使用 cubemx STM32F407ZGT6【IIC驱动AT24C02】

ROM(只读存储器)、RAM(随机存取存储器)、Flash(闪存)、和EEPROM(电可擦可编程只读存储器)是四种不同类型的存储介质。ROM用于存储固件或永久数据,不易更改。RAM用于临时存储数据,读写速度快,但断电后数据丢失。Flash是一种可电擦写的存储器,按照块写入,常用于存储大量数据,如固态硬盘中的数据。EEPROM是一种可以逐字节擦写的存储器,适用于需要少量修改的存储需求。它们之间的关系是,它们都用于数据存储,但在持久性、速度和修改能力上各有不同。引用大佬的文章EEPROM和flash的区别。

2024-09-11 16:56:43 487

原创 超声波 HC-SR04 的使用 CubeMx + STM32F103C8T6 【含两个】

HC-SR04 是一种常用的超声波测距模块。它通过发射超声波并测量这些波反射回来的时间来计算距离。模块的基本结构包括一个超声波发射器和一个接收器。发射器发出高频超声波,当这些波遇到物体后反射回来,接收器接收到这些反射波。根据超声波的传播时间和声速,模块可以计算出到物体的距离。它通常用于测距、避障等应用中。用的是这两款 第二款功能更多 不贴电阻 和上面这款没差别VCC–5V/3.3v【网上有看到一定得是5v 根据自己使用的模块来】GND–GND。

2024-09-11 11:31:07 924

原创 git命令

配置公钥后的常用步骤,建议在要上传的文件中右键打开gitgit push -f origin master :强制推送。

2024-08-05 16:25:45 292 1

原创 git add . 警告

这些警告是因为 Git 检测到你的文件使用了不同的换行符(LF 或 CRLF),并提示在下次 Git 操作中将会统一换行符为 CRLF。这通常发生在跨平台协作时,例如在 Windows 环境下编辑的文件可能使用 CRLF,而在类 Unix 环境(比如 Linux 或 macOS)下编辑的文件使用 LF。Git 在提交文件时会自动转换换行符以符合当前环境的配置,这样可以确保文件在不同操作系统间的兼容性。在你的情况下,警告表明 Git 将要替换 LF 换行符为 CRLF 换行符。

2024-08-05 15:22:55 613

原创 多串口打印

串口使用

2024-07-31 14:26:04 418

原创 关于一些时常搞混的知识点

例如,一个 uint8_t 类型的变量存储一个十六进制数值时,占用一个字节(8 比特),而一个 uint16_t 类型的变量则占用两个字节(16 比特)。如果是 uint32_t 类型,它是一个无符号 32 位整数,0xFFFF 将只占用其中的低 16 位,但仍然占用四个字节(32 比特)的存储空间,高 16 位则为零。如果是 uint16_t 类型,它是一个无符号 16 位整数,正好可以存储 0xFFFF,因为它占用两个字节(16 比特)的存储空间。移动过程中,左边的位数会丢弃,右边的空位用 0 填充。

2024-07-19 14:50:17 1263

原创 使用STM32F407ZGT6的I2S驱动麦克风模块INMP441

I²S接口的串行数据时钟。

2024-07-15 11:53:07 3218 2

原创 TJA1050模块的使用

TJA1050接收器的硬件连接

2024-06-04 10:34:55 1089

原创 #define定义的错误

#define定义小错误

2024-05-20 15:20:32 239 1

原创 cubemx hal 串口中断回调函数

串口中断回调函数 + 数据处理

2024-04-30 10:07:01 1300

原创 配置stm32H723VGT6的FDCAN的波特率

这里我fdcan的频率是120Mhz 开了12分频 Can Tq = 0.1us=100ns。起因我需要使用一路fdcan 对外围电路驱动。这个参数不是随便调整出250kbps就行。满足 TSEG1>TSEG2>SJW。我的外围设备使用的扩展ID。数据都在cubemx里面。输出为250kbps。

2024-04-26 09:32:33 692

原创 重写printf函数printf.c .h文件

重写printf

2024-04-17 16:48:04 404

A22模组 (超声波)RS485通讯

A22模组 (超声波)RS485通讯

2024-12-26

hal库 FreeRTOS-uspend&resume

有文章所诉未得到解决工程和已经得到解决工程

2024-11-19

hal库 FreeRTOS-Task-suspend&resume

hal库 FreeRTOS-Task-suspend&resume

2024-11-18

Huaduino-A 开发板资料

http://www.china-legends.cn/index.php?m=content&c=index&a=show&catid=15&id=6 https://blog.csdn.net/weixin_44481398/article/details/86376047

2024-11-08

STM32F407ZGT6新板子

继电器连通 R21 R29 缺少3.3 5 GND 串口1 排针处 貌似有问题

2024-11-06

eeprom使用 cubemx STM32F407ZGT6【IIC驱动AT24C02】

eeprom使用 cubemx STM32F407ZGT6【IIC驱动AT24C02】

2024-11-06

us级别的延时办法 hal库

us级别的延时办法 hal库

2024-11-06

STM32FZGT6内部SRAM有192kb 在开发板上有IM外部SRAM 测试

STM32FZGT6内部SRAM有192kb 在开发板上有IM外部SRAM 测试

2024-11-06

IWDOG和WWDOG +cubemx+STM32F407ZGT6

IWDOG和WWDOG +cubemx+STM32F407ZGT6

2024-11-06

STM32F407ZGT6驱动CyberGearcan驱动

内置 小米官方文档 0.0.5版本上位机 驱动工程

2024-10-30

STM32F407ZGT6+WS2812+PWM+DMA

STM32F407ZGT6+WS2812+PWM+DMA

2024-10-21

IIC的 “ OLED的驱动”

用cubemx配置硬件iic1

2024-04-10

空空如也

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

TA关注的人

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