
开发之路的BUG和经验分享
分享开发这一路走来遇到的BUG和经验~
OMGMac
不坠青云之志
展开
-
解决因内存过小芯片使用malloc造成内存碎片使程序偶发性卡死问题
这一期,我们来分享一个之前在项目中遇到的一个使用内存出现的偶发性错误,具体原因是因为当时开发的项目采用的是STM32F1系列的103RCT6型号,其Flash为256K。原创 2024-10-19 19:11:13 · 373 阅读 · 0 评论 -
keil中编译遇到错误“error #94-D the size of an array must be greater than zero”解决方法
这一期,我们来看一个在keil中编译时候遇到定义数组元素个数为0时候遇到的一个错误。原创 2024-10-19 17:31:47 · 704 阅读 · 0 评论 -
分享配置FreeRTOSConfig.h文件因部分宏值配置不对以及相应函数未定义出现的三个错误解决方法
今天来分享一个在创建FreeRTOS时候调用官方的FreeRTOSConfig头文件时,因部分宏值的配置与FreeRTOS内核文件中的函数不匹配,导致编译时候出现了相应的错误。于是,既然遇到了,就准备拿出来讲一下,让其他遇到的小伙伴也可以看一下具体是什么原因导致的。好了,话不多说,我们直接开始讲~原创 2023-09-10 18:47:32 · 1606 阅读 · 0 评论 -
解决“warning: #223-D: function “xPortSysTickHandler“ declared implicitly“告警提示
继上篇文章发布已有时隔两个月之久,今天就把这两个月遇到的一些问题解决分享一下,首先,我们来看今天分享的这个关于我在学习freertos遇到的一个告警。如图所示原创 2023-08-17 22:39:42 · 5318 阅读 · 1 评论 -
分析出现HardFault_Handler\提示的其中本人遇到比较多的一个情况
不知道大家在编写单片机时候有没有遇到一个硬件错误,也就是HardFault_Handler\,这个错误我遇到过好几次,一般来说这种错误有几种情况会出现,比如。像一般遇到这种的,往往你去Debug调试时候往往程序会停在B.这里,你停止之后像keil会跳到相应位置提示你,你的程序在哪里卡住。所以解决方法就是:如果出现这种提示硬件中断错误,可以去查看一下自己的程序有没有哪里可能造成数据溢出等情况,有可能是因为这种情况,一般比较常见。本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。原创 2023-06-05 22:26:09 · 1342 阅读 · 0 评论 -
解决错误提示:“Flash Timeour Reset the Target and try it again“或者“Error: Flash Download failed - Cortex-M3
今天来分享一下前几天在进行烧录时候遇到的一个错误,首先咱们来看一下这个错误提示的内容哈。错误提示:1、Flash Timeour Reset the Target and try it again2、Error: Flash Download failed - "Cortex-M3"第一个意思就是Flash重置超时了需要再次尝试,第二个意思是Flash下载失败对于“Cortex-M3”。其实这个错误在网上大部分是因为芯片有读写保护时候烧录会出现这种提示,但是我这次却不是因为芯片读写保护造成原创 2023-05-28 18:41:24 · 2102 阅读 · 0 评论 -
分享串口接收中断只能接收到一个字节的其中一个原因
没办法,我就换了几块板子试试看,发现还是同样的问题,思来思去,又把串口部分看了一遍,最后想到不会使我485转串口连接端子那边有问题吧,因为之前也遇到过485转串口的连接端子线出现问题不能接受和发送,这次只能接受一个字节不会真的是这个原因吧!!!,于是我就把这个端子线换了一下,没想到,串口真的恢复了,我去啊,没想到是物理问题造成的。原创 2023-04-28 23:38:21 · 5519 阅读 · 5 评论 -
补充对“Cannot determine link language for target”出现该问题的另外一种原因
其最根本的原理是cmake在编译链接时候找不到源文件,但是这种情况却是千奇百怪的,比如上篇文章中提到的定义的库名不一致导致的,或者是因为编译文件的类型有误。原创 2023-04-02 23:24:41 · 2001 阅读 · 0 评论 -
讲解为什么会提示“invalid type argument of ‘->‘ (have ‘Data_Ao‘)”错误信息
这里的adata是我定义的一个指针,指向对于的一个结构体,而ao[]我是定义成了一个结构体变量,所以adata采用->指向ao[3]—(adata->ao[3])的用法是正确的,而后面我结构体变量ao[3]这里使用->指向flag就不正确了,因为ao[3]只是一个结构体变量,其指向自己内部的参数,只需要使用"."即可~今天分享一个之前遇到的错误提示,其实就是语法的错误。可能如果对“->”或者“.”的用法不了解,就会容易造成这样的错误,加上如果你的编译器不会提示一下基础的语法错误,就更容易出现。原创 2023-03-06 21:51:44 · 4155 阅读 · 1 评论 -
如何解决提示错误“error redefinition of ‘dev‘”或者“note previous definition of ‘dev‘ was here dev”
今天我们来分享一个我们在编程时候可能会遇到的一个错误提示,其实这个错误提示跟我们之前讲过的有一篇文章(文章链接:[解决提示“previous definition of...“或者“conflicting types for...“问题方法](https://blog.youkuaiyun.com/OMGMac/article/details/129150871))很相似,都是因为重复的定义一个变量造成的。原创 2023-03-04 12:43:11 · 3796 阅读 · 0 评论 -
解决“invalid operands to binary & (have ‘float‘ and ‘int‘)”错误的方法
今天继续来分享一个自己今天遇到的错误,错误提示信息:“invalid operands to binary & (have ‘float’ and ‘int’)” ,可能有些小伙伴可能会问,为什么不能对浮点数进行&呢?因为浮点数与整形不一样,不能直接进行位运算。原创 2023-02-23 00:00:11 · 31104 阅读 · 0 评论 -
解决提示“previous definition of...“或者“conflicting types for...“问题方法
我们从上面的错误信息可以看出,**错误的根本原因是因为我定义了两个不同类型的变量:“battery_lod_num”**。原创 2023-02-21 22:15:43 · 3386 阅读 · 0 评论 -
解决“结构 “<unnamed>“ 没有字段 “ac_vol“ C/C++(136)”的错误提示
今天来分享一个自己遇到的错误提示,其实这个错误如果是粗心,可能经常会遇到,哈哈哈如果你的编译器有代码自动补全可能不太会遇到~。好了,我们看一下这个错误,这个错误提示我们:“结构 unnamed 没有字段 “ac_vol" C/C++(136)”,,这些很容易出现在一些没有代码补全的编译器中。因为一不小心打错了就会提示你错误。好了,今天分享就到这里为止~原创 2023-02-19 00:07:20 · 2274 阅读 · 3 评论 -
解决“检测到 #include 错误。请更新 includePath。CC++(1696) 无法打开 源 文件 “stadio.h“”错误方法
今天来分享一下我在vs code多次遇到的一个错误提示,其错误提示一般为:这个错误我遇到三次了,前两次都是在重新第一次使用vscode时候会遇到,而当时我的解决方法是在自己电脑安装MingGW后,然后再在自己的电脑环境中添加MingGW的路径即可解决~而这一次提示我,却是我已经安装了MingGW有一段时间出现的,于是我又一次查看了我的环境,我发现环境变量下面存在MingGW的路径,那就奇怪了,于是我就把鼠标移动到错误的头文件下,其会弹出窗口,里面有一个“快速修复”,我点击进去后,在编辑路径下面添加了我的g原创 2022-12-26 22:39:59 · 7236 阅读 · 2 评论 -
解决编写CMakeLists文件时候出现的“Function missing ending ). End of file reached.”错误
今天来分享一个我在编写CMakeLists文件时候出现的一个错误,错误提示为:**Parse error. Function missing ending ")". End of file reached.-- Configuring incomplete, errors occurred!原创 2022-12-01 22:28:22 · 2653 阅读 · 0 评论 -
解决“keil无法找到相应文件的错误”方法
今天来分享一下之前遇到的一个关于Keil使用过程中的一个BUG。好了,分享到此结束~原创 2022-10-15 19:00:43 · 6662 阅读 · 0 评论 -
解决“The debugger has set two breakpoints at the same address 0x08xxxxx”问题
今天来分享一个前段时间做项目适合遇到的一个bug,正好今天有空就拿出来跟大家分享一下。原创 2022-10-07 00:05:39 · 3629 阅读 · 4 评论 -
解决调试时候出现的“Encountered an improper argument”错误
今天分享一个我们在调试时候出现的一个错误,同时这个错误让我的工程也崩了好几十次。原创 2022-08-30 23:38:22 · 31674 阅读 · 5 评论 -
解决“ Error L6218E Undefined symbol enet_delay (referred from xxxx.o)”问题
今天分享一个也可能会提示“Error L6218E Undefined symbol enet_delay (referred from xxxx.o)”错误的一种情况。首先这个从这个错误提示,可以知道我的enet_delay是没有定义的,但是我查了一下这个函数是有定义的,而且我也调用了这个包含这个函数的头文件,那怎么会提示没有定义呢?...原创 2022-08-13 21:59:12 · 2776 阅读 · 0 评论 -
解决“#231-D declaration is not visible outside of function”告警方法
今天来分享自己前天遇到的一个告警,告警提示为:“declaration is not visible outside of function”。像我就是因为使用了一个函数,其形参是使用了一个结构体变量类型,然后没有把那个定义结构体类型的头文件包含进去,系统就提示我这个告警。翻译过来意思就是:“声明在函数外部不可见”。好了,分享就到此结束啦!...原创 2022-08-07 22:22:01 · 5155 阅读 · 0 评论 -
使用GD32F207的高级定时器来产生PWM波出现的隐藏BUG
今天分享一个在做GD32F207项目适合遇到的一个让人很无语的BUG,之所以称之为BUG,是因为实在想不出是为什么,但是有解决方法。首先,是发现这个BUG的问题原因,是我在通过高级定时器来生成PWM波进行调节输出电压,这里我使用了GD32F207的定时器TIMER0(高级定时器)的四个通道(CH0_CH3)分别输出不同占空比的PWM波(注意这里我使用的是高级定时器,而不是基本定时器,为什么这里要重点说是高级定时器,后面我们会说明到)。但是我发现莫名其妙只有TIMER_CH3这个通道成功输出了PWM波,而TI原创 2022-07-30 17:31:39 · 1227 阅读 · 4 评论 -
相应通道无电压但ADC的值却在大幅变化且不等于0的可能原因
今天分享一个自己的粗心引起的现象,就是之前在做ADC时候,采用单通道(规则组)和软件触发,发现ADC采集的值一直在变化,而且我都没有输入相应的电压,按理来说,ADC输出的值应该为0(+10–存在偏差)。但是其值却不等于0并且一直不断的变化,于是排查下来发现ADC的通道在初始化时候输错了。,所以造成ADC采集的引脚错了,因此其电压值一直在变化。是否存在与我这个相同的地方,可以参考我的例子进行相应的查找。本人水平有限,上述信息仅供参考,如有错误和不妥之处,请多多指教。...原创 2022-07-26 22:53:58 · 1631 阅读 · 0 评论 -
关于板载继电器供电不足引起不能吸合的问题
最近,在做一个项目时候,因为要同时控制电路板上面板载的多路继电器,于是就写了一个打开所有继电器的控制命令,然后发送过去,发现有一两个继电器不动作,就用万用表去量发现三极管基极的输入端是有电压的,而且其集电极到发射集也是导通的,按理来说应该不太可能没有动作,除非是继电器出问题了。所以,关于电路板上面如果有集成多路继电器在上面时候,你输出相应电平发现继电器没有动作,而用万用表去量发现基极的输入端是有电压的,而且其集电极到发射集也是导通的,有可能是继电器坏了,也有可能是你的板载电流不够了导致不足以使继电器吸合。.原创 2022-07-23 16:10:45 · 1128 阅读 · 0 评论 -
Modbus通信协议规范(中文)分享
今天分享我们在开发Modbus通信协议时候,经常会用到的一份资料,它就是Modbus通信协议规范(中文)手册,其里面对Modbus通信协议讲解的很详细,讲解了什么是Modbus协议,Modbus的数据帧结构、Modbus协议原理、Modbus的各个功能码并且还将讲解了Modbus的TCP通信。另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞,谢谢~本人水平有限,上述信息仅供参考,如有错误和不妥之处,请多多指教。...原创 2022-07-18 23:18:10 · 3140 阅读 · 0 评论