- 博客(15)
- 收藏
- 关注
原创 STM32的回调函数的工程结构
一般解释:回调函数就是一个通过函数指针调用的函数。如果你把函数的地址传递给中间函数的形参(将函数的地址作为函数的形参传给函数),中间函数通过函数指针调用其所指向的函数时,我们就说这是回调函数。通俗解释:函数Fun1调用函数Fun2,同时将函数Fun3作为形参传递给Fun2,此时,Fun1为应用层函数,Fun2为中间层函数,Fun3为回调函数,。代码结构示例:意义何在:①利于代码结构,将代码分为应用层,中间层,硬件驱动层,彼此独立,方便程序的编辑,阅读,修改与移植。
2025-03-18 10:59:52
256
原创 PADS9.5从零封装一个元器件
使用软件pads logic,具体步骤如下:1.1、重点:步骤2创建自己的库,然后新建元件1.2、1.3、1.4、绘制CAE封装(CAE封装----元件的逻辑图包括管脚编号,管脚名称)1.5自己绘制需要的管脚数和管脚分布1.6、第一个设置管脚标号,第二个设置管脚名称。
2025-03-14 10:07:41
425
原创 STM32使用HAL配置USB虚拟串口VPC(CDC)+USB虚拟U盘MSC配置及采用自带的Flash作为文件系统
芯片:STM32F407ZGT6工具:STM32cubemx,keil。
2025-02-28 17:47:26
1155
原创 STM使用cubemx配置TFT_LCD触摸屏
但是LCD文件中的lcd.c文件中的相关HAL_FSMC_MspInit会和配置的文件fsmc.c文件中的HAL_FSMC_MspInit产生冲突,删除lcd.c文件中HAL_FSMC_MspInit即可,另外将lcd_init()中关于fsmc的相关配置也进行删除,到此lcd显示功能配置好-------注意记得引入到工程中。参考了很多版本,最后还是自己调试发现正点原子的delay文件中的delay_us和delay_ms的函数出了问题程序会在delay_us中跳转不出来,将这两个函数修改为。
2025-02-11 21:16:03
341
原创 STM32HAL——ADC+中断+DMA
Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的转换为离散的的器件。简单地说就是将模拟电压值,转换成对应的肉眼可读数值典型的模拟数字转换器将转换为表示一定比例是一种逐次逼近型模拟数字转换器。STTM32F407有,多达,可测量16个外部和2个内部信号源。各通道的A/D转换可以执行。ADC的结果可以方式存储在中(12位存储在16位寄存器中,有两种对齐方式----左对齐和右对齐12位对应4096即存储最大值是4096,转换电压数据如下。
2024-12-31 09:48:33
2131
原创 STM32使用CUBEMX配置DMA+USRT
简单来说:DMA(Direct Memory Access,直接存储器访问)是一个数据搬运工,实现存储器和存储器外设和外设存储器和外设外设和存储器之间的数据搬运可以实现数据的搬运(不需要CPU的参入),2.DMA的意义代替 CPU 搬运数据,为 CPU 减负。1). 数据搬运的工作比较耗时间;2). 数据搬运工作时效要求高(有数据来就要搬走);3). 没啥技术含量(CPU 节约出来的时间可以处理更重要的事);3、DMA搬运方式存储器→存储器(例如:复制某特别大的数据)
2024-12-26 21:46:42
866
原创 STM32F407实现RTC
RTC模块和时钟配置系统(RCC_BDCR寄存器)是在后备区域,即在系统复位或从待机模 式唤醒后RTC的设置和时间维持不变,只要后备区域供电正常,那么RTC将可以一直运行。但是在系统复位后,会自动禁止访问后备寄存器和 RTC,以防止对后备区域(BKP)的意外写操 作。RTC简介:(RTC)是一个独立的定时器。STM32的RTC模块拥有一组连续计数的计数器,在相对应的软件配置下,可提供时钟日历的功能。选择LSE作为RTC时钟源(HSE正常配置即可)最后的最后,如果你要修改定义的时间日期----
2024-12-23 15:27:18
782
原创 WWDG超出时间计算和WWDG中断
相比于独立看门狗,窗口看门狗(WWDG)是一个既能产生系统复位信号和提前唤醒中断的六位递减计数器。(1)复位的条件: 1.当递减计数器值从0x40递减到0x3F时复位(即T6位跳变到0)2. 计数器的值大于W[6:0]值时喂狗会复位。(2)中断的条件: 1.当递减计数器等于0x40时可产生提前唤醒中断 (EWI)。(3)喂狗条件 : 需要在窗口期(0x3F
2024-11-29 16:34:59
904
原创 move base解决:Global Frame: odom Plan Frame size 993: map
以上都是基于仿真环境下进行的,实际机器人需要查看机器人的雷达发布频率,调至相应的频率。解决:将xacro中关于激光雷达的频率调高(一般调至20即可)原因:amcl中odom转换到map的tf太慢了。
2024-08-19 15:14:12
465
原创 ROS:改变机器人在gazebo和地图中的初始位置
使用的是 ROS,并通过.launch文件来启动 Gazebo,你可以在节点中指定机器人的初始位置。是机器人的坐标(修改后)
2024-08-15 15:17:14
1443
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人