自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 怎么在单片机裸机程序中移植EasyLogger?

EasyLogger 是一款超轻量级、高性能的C日志库,非常适合对资源敏感的软件项目。

2024-10-09 14:00:36 1079

原创 使用VMware怎么进行截图?

在尝试在虚拟机截图的时候,发现使用QQ带的截图工具是比较好用的,首先登录上QQ,然后将界面切换到虚拟机界面,但是并不能点击VMware软件界面内部,如果点击的话,就不能够使用QQ截图。注意:如果点击VMware软件界面后,使用截图快捷键是不能截图的,因为此时意味着在ubuntu系统中,无法调用本身登录在Windows系统中QQ的截图功能!返回自己的计算机后,才能按下快捷键Ctrl+Alt+A,来使用QQ是截图功能来做到在VMware中进行截屏。

2024-07-26 23:22:09 2037

原创 学习USB的《圈圈教你玩 USB》资料

圈圈教你玩 USB》免费PDF下载连接:

2024-06-22 22:30:00 270

原创 Keil5编译时无法生成.axf文件或下载程序时报错:Flash Download failed - could not load file“................axf“

出现下载错误,显示说不能够加载在魔法棒中的User里面添加的内容,添加的这部分内容是为了生成bin文件而添加的。经过多次各种检查和尝试之后,发现是之前不小心在下图中位置处打上了勾号。点击去掉之后即可完成编译,就不再报这个错误。在检查代码工程后,发现Objects文件夹内没有生成工程名.axf文件。

2024-05-11 18:54:22 10074

原创 编译错误:XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxx. o).

编译以后显示说errno这个标志在modbus.o中未定义,.o文件在工程里面是没有的,它是在编译过程中由.c文件生成的。导致了在modbus.o文件中无法找到errno的定义,因为在外部文件对于这个变量的定义处书写错误。后面再次到H文件中查找问题,发现H文件中对于errno这个外部变量进行了外部声明,并没有发现问题。检查过后,发现libmodbus文件夹部分的路径并没有进行添加,然后就进行添加了路径。,对这个变量errno进行了搜索,检查了整个C文件的这个变量,也并没有发现什么问题。

2024-05-10 18:24:19 2160 2

原创 STM32F4的启动文件、堆栈、中断向量表、RAM、ROM以及编译后各个段的相关内容

这里表示复位程序可以由用户在其他文件重新实现,在使用标准库进行开发的时候,很多的中断函数都是这样的,需要自己在其他文件进行重新定义的,然后就会优先使用的就是自己定义的中断服务程序。第179-180行:表示该标号来自外部文件,SystemInit()是一个库函数,是在system_stm32f4xx.c中定义的,__main 是一个标准的 C 库函数,主要作用是初始化用户堆栈,这个是由编译器完成的,该函数最终会调用我们自己写的main函数,然后进行while循环中,进行执行代码。类比于电脑内存的作用。

2024-04-23 14:07:40 1952

原创 STM32芯片的启动过程

除了将中断向量表进行初始化之后,还有初始化时钟,执行__main函数,这个是C库里面提供的函数,这个函数最终会调用main函数,进入到自己写的程序中。,PC指针会从其指向的物理地址取出第 1 条指令开始执行程序,也就是开始执行复位中断服务程序 Reset_Handler,然后从Reset_Handler处开始执行代码。当系统复位后,处理器从向量表中读取前八个字节,也就是两条指令,前四个字节存入 MSP,后四个字节为复位向量,也就是。2、执行复位中断服务函数,初始化系统时钟,再执行__main函数。

2024-04-22 20:14:44 862 1

原创 怎么编写一个脚本来删除STM32工程中的中间文件或者目标文件

MDK工程编译以后会产生大量的中间文件,这些文件在调试程序阶段是非常重要的,但是当调试完毕以后,把工程保存到电脑硬盘或网盘上,此时我们希望整个工程仅占用较小的存储空间。但是整个工程包含源文件,工程文件,中间文件,目标文件等等。源文件和工程文件是肯定不能删除的,我们只能删除掉中间文件或目标文件,怎么删除呢?删除所有子目录下所有的**.txt**文件,也就是递归删除。删除所有子目录后缀为.bak的文件。删除所有子目录后缀为.ddk的文件。删除所有子目录后缀为.edk的文件。删除所有子目录后缀为.lst的文件。

2024-04-22 18:24:54 571

原创 C语言中怎么实现bool类型返回值的函数

代码表示如果rx_buffer_current_cnt的值大于0,说明当前蓝牙模块数据缓存区中有数据,如果等于0则表示缓存区当前无数据。1、bool(布尔)是在C99标准中引入的类型,以前bool类型在C++中才有,在C语言中没有bool类型。2、bool是专门用来表示真假的类型,bool类型只有两种情况true或false,即真或者假,没有第三种情况的出现。3、在使用C语言进行编程的过程中,必须包含头文件<stdbool.h>才能使用bool,也可以自己来定义布尔类型。一、bool类型基础知识。

2024-04-09 21:27:19 3621 1

原创 使用FreeRTOS创建任务后,在执行代码的时候发现有的任务没有执行,应该怎么进行处理?

可以将其设置为7000,或者再稍大一些,然后点击生成代码。编译代码后再进行测试,观察任务是否完全执行。,那么就打开工程文件,打开CubeMX工程。如果不需要默认任务,已经注释的话,再次生成代码以后,默认任务会被恢复。遇见这种情况出现的话,

2024-03-30 22:37:47 1546

原创 使用队列集时,相关的函数没有定义,怎么配置FreeRTOS把队列集加上去?

1. 在调试代码, ​​​​​​​出现下面这种报错:

2024-03-30 21:59:58 166

原创 解决使用STM32CubeMX点击生成代码时,出现“The Firmware Package(STM32Cube FW_F1 V1.8.5)...

复制完成后,点击CubeMX界面上面的Help选项,点击其中的Manage embedded software packages,然后弹出界面,点击左下角的From Local,弹出界面,选择刚刚压缩包所在的路径,点击该压缩包,点击打开。然后根据上面这个库的版本,在自己的电脑C盘--用户--xxx(用户名)---STM32CUbe---repository文件夹下看是否有STM32Cube_FW_F1_V1.8.5,如果没有的话,则需要安装固件库。下面可以再次尝试生成代码。

2024-03-23 14:07:01 12207 9

原创 移植STemWin后,编译出现xSemaphoreHandle未定义应该怎么解决?

宏定义处#define configENABLE_BACKWARD_COMPATIBILITY 0 /* 1: 使能兼容老版本, 默认: 1 */,经过一系列的检查发现,是因为所使用的emwin的版本有点老导致的,需要在。,使之可以兼容老版本,再编译就无错误出现,如下图。

2024-03-22 22:31:55 348 1

原创 使用keil调试代码的时候出现警告warning: parsing restarts here和错误#65:expect a “;“和#67:expect a “}“的处理

先注释上面一部分的代码,编译发现就已经没了错误,那肯定就是在上半部分少了"}",然后在进行采用这种方法进行调试,最后定位到了到底错在哪里了,加上括号以后(如下图所示地方),重新编译两个错误和一个警告就解决!然后根据错误地点进行排查,发现出现少括号的位置是C文件底部,但是底部明显是不缺少括号的。但是我这个循环里面有许多代码,一条一条的寻找的话很慢。

2024-03-15 12:43:22 340 1

转载 MDK5.29等版本和各种pack软件包镜像下载(转载)

内容转载自:MDK5.29,5.30,5.31,5.32,5.33, 5.34,5.35, 5.36, 5.37和各种pack软件包镜像下载(2022-05-04)_arm.mbedtls.1.6.0.pack下载-优快云博客。(MDK4升级到MDK5的兼容包,截止到MDK5.25已经没有再更新了)可用于Arm7, Arm9,Cortex-R。可用于Cortex-M。

2024-03-09 14:26:09 1291 1

原创 如何在Source Insight4.0新建工程后添加工程代码

创建新工程,然后设置保存目录(点击Browse修改第二行的路径),设定保存到之前新建的文件夹IS_project的地方(设置路径到保存SI文件的地方),然后在第一行进行命名,命名结束后点击OK。创建完成以后,点击Project中的同步文件(可以使方便查找每一个符号)进行解析。当找一个文件找不到时,点击上方功能栏的R,然后进行输入查找的内容,点击搜索即可。,再到IS中点击项目,点击移除所有,再重新进行添加和解析,,将弹出的窗口中的两个都进行勾选,点击确认即可完成创建,进而选中你想要导入的代码工程,再点击。

2024-02-21 11:10:57 687

原创 使用source insight4.0和source insight3.5在项目文件列表显示方面的一些区别

那么当这个 4.0版本的Source Insight 引入代码工程后,如果没有把project files 正确显示在右边的file list列表框的时候,应该如何操作来解决问题呢?当使用Source Insight4.0新建工程并且添加完代码工程后,发现不像Source Insight3.5会直接在右边的小窗口中会显示项目文件,导入的文件夹目录等内容,会让人一时不知道该怎么办,或者怀疑是不是没有将工程添加成功。如果此方法还是不行,请检查是否正确的添加了工程文件代码,确保添加代码的操作上没有问题。

2024-02-21 10:57:09 870

原创 代码中包含UTF-8格式的汉字时,编译出现错误的解决方法

解决方法:打开工程选项,C/C++,在杂项控制栏里(见下图),加上一个控制参数,这样就开启了软件对UTF-8汉字写入代码操作的支持了,再进行编译就没有错误了.

2024-01-23 23:53:15 798 1

原创 如果想知道这个程序编译之后到底占了多大的空间,应该怎么查看呢?

方式一:首先,将程序全部编译一下,然后下面有一行信息,就显示了Program Size,程序大小,其中有四个数,其中。双击会打开一个.map文件,这就是详细的编译信息,在最后面的部分,有显示程序的大小(如下图),并且有计算的结果,方式二:点击target1,

2024-01-21 23:44:55 1296

原创 闪存前一部分存储的是程序文件,最后一页存储的是用户数据, 假设是程序比较小,最后一页肯定是没有用到的,可以放心的使用最后一页,如果程序比较大,程序和用户数据存储的位置怎么办呢?

如果计划把闪存尾部的很多空间留着自己用,那就把这个程序代码的空间改小一些,以免冲突.这个。,比如想写个Bootloader程序放到闪存尾部,可以在这里修改下载到闪存的起始位置.起始地址是0x8000000,这里0x0800省略成了0x800。,2000开始,大小5000,对应就是20K.,然后size是0x10000,

2024-01-21 23:37:23 399

原创 STM32中,字节,字的关系

1字节(byte) = 8位(bit)2.半字Half-word占16bit。3.字节Byte占8bit;

2024-01-21 18:49:56 2093

原创 C语言关键字volatile的作用

C语言的关键字,volatile,表示易变的数据,这个变量前面加上volatile是一个安全保障措施,加上这个关键字的目的就是防止编译器优化.编译器优化如果设置为最低的时候,这个关键字没有用,如果提高优化等级,这个关键字是有用的.编译器优化是去除冗余代码,但是去除无用的繁杂代码,降低代码空间,提升运行效率,但是有时候编译器的优化会弄巧成拙.对变量加上volatile就是告诉编译器,无论干什么都原封不动的去执行,避免优化掉了.

2024-01-19 17:44:24 549 1

原创 烧录程序提示 could not stop Cortex-M device! Please check the JTAG cable

如果不行的话,将开发板或者最小系统板的BOOT0的跳线帽拔下来置于高电平,BOOT1不动,仍为0,然后使用串口下载一个较小的例程,应该就可以正常烧录。如果不行,那么就要考虑电路连接问题了,就像是不是把reset给短路了,再仔细检查电路。解决方案:检查连接线路没有问题后,再次回到keil界面,然后重新进行编译,再点击Download按钮,即可正常烧录程序。

2024-01-17 22:46:23 3288

原创 STM32 使用ST_link时,在keil中勾选reset and run但是还是需要手动复位的解决办法

4. 再进入Pack选项卡,如果Enable前面有对号,只需将以下的Enable去掉勾选即可,将之设置为不选中,再烧录后的程序可以正常自动运行了。3. 然后确认reset and run已经勾选,2. 点击Debug,点击settings。1. 首先点击魔法棒。

2024-01-17 14:36:33 2005 3

空空如也

空空如也

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

TA关注的人

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