- 博客(143)
- 资源 (10)
- 收藏
- 关注
原创 解决提示”warning C317 attempt to redefine macro ‘XX‘“问题
而为什么编译器会这样提示呢?是因为我发现原来我的这个宏定义出现在了两个头文件中,跟重复定义变量是一样的道理,所以编译器在编译时候才会提示该语法错误。因此错误原因就是重复定义或者多次定义该宏造成的,解决方法也很解决保持唯一性,只定义一个即可!今天来分享一个之前在开发时候遇到的一个告警,是一个关于不正当使用宏定义产生的告警。好了,今天的分享就到这里了~
2024-10-24 16:01:56
1079
原创 解决因内存过小芯片使用malloc造成内存碎片使程序偶发性卡死问题
这一期,我们来分享一个之前在项目中遇到的一个使用内存出现的偶发性错误,具体原因是因为当时开发的项目采用的是STM32F1系列的103RCT6型号,其Flash为256K。
2024-10-19 19:11:13
371
原创 在cmd命令下调用gcc编译时如有一些关键api接口错误会显示正确拼写
可以看到上面在调用uxQueueMessagesWaiting时候因为拼写成uxQueueMessageWaiting少了一个s,所以编译出错,而我们在窗口可以发现,编译器在下面用不一样的颜色给标出来,正确的拼写,有助于我们可以快速纠正。这也是在使用cmd命令窗口调用gcc等编译器处理编译的优点,下次有使用到的小伙伴如果也遇到这种,就可以知道编译器已经告诉我们错误纠正的地方了。这一期,我们来分享一个使用make编译时候,编译遇到错误拼写时候,编译器会给我们提示正确的拼写结果和对比。
2024-10-19 18:37:40
234
原创 keil中编译遇到错误“error #94-D the size of an array must be greater than zero”解决方法
这一期,我们来看一个在keil中编译时候遇到定义数组元素个数为0时候遇到的一个错误。
2024-10-19 17:31:47
696
原创 系统卡在uxListRemove函数中的“pxItemToRemove-pxNext-pxPrevious = pxItemToRemove-pxPrevious”其中一个原因
先看错误:错误是一开始发现系统一直在list.c中的uxListRemove任务下跑,不管怎么调试,一直在这里面;该函数为:UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ){/* The list item knows which list it is in. Obtain the list from the listitem. */List_t * const pxList = ( List_t * ) pxItemT
2024-10-19 17:03:47
365
原创 近来的一些小感悟
又到了一年一度的程序员节,想想看还是写了一点人生感悟。 想想自己写博客也有三年多了,最早一开始是在大学开始写的,那时很早就想写点博客记录一下生活和技术,但是因为各种原因迟迟未开始写,以至于拖到了快毕业那时,课也少了,也就闲着尝试开始写。于是就这样慢慢断断续续得写到了毕业,再断断续续地写到了工作。 如今,工作也两三年了,依然感觉大学还没有毕业多久,可能是时间还不够长吧或者是被社会毒打的还不够,不过也常常怀念大学时光,在想要想大学时候多泡一会图书馆,多待点实验室可能如今工资会高一点吧!或者趁
2023-10-23 22:03:06
630
2
原创 解决提示“sudo: 无法切换为 root 组 ID: 不允许的操作“等提示的例子分享
今天来分享一个关于在ubuntu下操作时候出现的一个关于用户权限的问题。话不多说,咋们直接来讲~上面第一个是我在使用ls命令时候发现怎么提示我权限不够,我当时就奇怪了,怎么ls权限都不行。。。于是我就sudo切换一下root用户一下试试看,发现提示我下面那两句话。提示我不能使用sudo和使用root用户。我一想不对呀,怎么root用户也不让切换了,连最基础的ls的命令也不让使用。。就因为登录的用户是客人会话,所以不能切换会root用户。一直没有使用过客人访问来操作,以至于没有一下子发现。
2023-09-16 13:23:34
3981
3
原创 解决错误提示:Error: L6218E: Undefined symbol xQueueCreateMutex (referred from main.o).的方法
今天继续来分享一个关于FreeRTOS学习实践过程中遇到的一个错误。其实这个错误也是由于宏定义定义不对造成的,只是这次出现的错误提示多了一些其他说明。话不多说,我们先来看一下吧。我们可以看到上面第一条的错误其实跟上一篇文章那三个错误一样,就是由于编译器在链接时候找不到该函数。但是这次仔细看下面还有两条提示,其大致意思就是你提供的信息太少,找不到相应的函数,可能看到这里会不太明白。我们下面讲了你就会明白,编译器为什么这么提示你。我们可以先从这个函数xQueueCreateMutex着手,从我们的工程中直接搜
2023-09-11 19:36:20
2506
1
原创 分享配置FreeRTOSConfig.h文件因部分宏值配置不对以及相应函数未定义出现的三个错误解决方法
今天来分享一个在创建FreeRTOS时候调用官方的FreeRTOSConfig头文件时,因部分宏值的配置与FreeRTOS内核文件中的函数不匹配,导致编译时候出现了相应的错误。于是,既然遇到了,就准备拿出来讲一下,让其他遇到的小伙伴也可以看一下具体是什么原因导致的。好了,话不多说,我们直接开始讲~
2023-09-10 18:47:32
1600
原创 解决FreeRTOS程序跑不起来,打印调试却提示“Error:..\FreeRTOS\port\RVDS\ARM_CM3\port.c,244“的方法
今天来分享一个不会造成程序编译报错,但会使程序一直跑不起来,并且通过调试会发现有输出错误提示的错误例子分析,话不多说,我们就直接开始分析~首先,我们说过这个例子在编译时候没有明示的错误提示,也可以说没有语法和逻辑之类的错误,应该是程序哪里写的有不规范的地方造成的。我们先来分析一下当时的情况~
2023-08-28 22:03:16
2927
原创 解决错误“ #error “include FreeRTOS.h“ must appear in source files before “include event_groups.““例子分享
今天来给大家分享一下,关于之前自己在学习FreeRTOS过程中遇到的一个错误提示,话不多说,我们直接来看~首先,我们看一下错误的提示:**error: #35: #error directive: "include FreeRTOS.h" must appear in source files before "include event_groups.h"**。编译时候报错如下图所示:
2023-08-28 21:43:29
6544
2
原创 分享因缺少 xPortSysTickHandler()函数而导致程序一直卡死在函数portTASK_FUNCTION的案例分析
今天来分享一个在学习freertos过程中遇到的一个小问题。就是发现程序跑不起来,但是debug调试时候发现也没有到while循环中,于是通过排查发现。话不多说,我们开始讲~
2023-08-21 22:23:26
3289
原创 解决“warning: #223-D: function “xPortSysTickHandler“ declared implicitly“告警提示
继上篇文章发布已有时隔两个月之久,今天就把这两个月遇到的一些问题解决分享一下,首先,我们来看今天分享的这个关于我在学习freertos遇到的一个告警。如图所示
2023-08-17 22:39:42
5304
2
原创 出现错误提示“error: expected ‘=‘, ‘,‘, ‘;‘, ‘asm‘ or ‘__attribute__‘ before ‘->‘ token xxxx;”的原因
这次来分享一个之前因为疏忽而出现的一个错误例子,话不多说,我们直接先来看错误,错误提示我们:"error: expected identifier or '(' before 'else' else{""error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token xxxx""error: expected identifier or '(' before '}' token}"
2023-06-17 18:02:53
2988
原创 解决git提交时候出现的错误提示“modified:xxxxx (modified content, untracked content)“方法
今天来分享一个关于自己在使用git从本地仓库提交至远程仓库时候遇到的一个错误。话不多说,先来看一下这个错误提示:"modified:xxxxx (modified content, untracked content)"。**这个错误提示我,xxxxx里面有未跟踪且已修改的内容**,可能是没有被add进暂存区导致的,于是我就重新add和commit了一次,发现还是依然提醒我。于是我就查看了一下这个文件,发现这个文件里面也包含了一个.git隐藏文件。怀疑是存在提交时候发现有两个.git隐藏文件,存在版
2023-06-12 22:08:48
1601
原创 分析出现HardFault_Handler\提示的其中本人遇到比较多的一个情况
不知道大家在编写单片机时候有没有遇到一个硬件错误,也就是HardFault_Handler\,这个错误我遇到过好几次,一般来说这种错误有几种情况会出现,比如。像一般遇到这种的,往往你去Debug调试时候往往程序会停在B.这里,你停止之后像keil会跳到相应位置提示你,你的程序在哪里卡住。所以解决方法就是:如果出现这种提示硬件中断错误,可以去查看一下自己的程序有没有哪里可能造成数据溢出等情况,有可能是因为这种情况,一般比较常见。本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
2023-06-05 22:26:09
1342
原创 分享通过复旦微魔方来找到FM33LG048串口3无法发送和接收原因的例子
今天来分享一个关于开发国产芯片(复旦微FM33LG048)串口3时候遇到一个无法发送和接收原因,通过使用官网的图形配置工具来成功解决问题的案例。具体情况是这样的,该芯片官网有提供相应的keil参考例子,因为我要用到这个芯片上面的五个串口,所以拿了官方的UART0例子当做参考,然后看了芯片手册还有时钟树以及开发注意事项,上面就说串口0/1有双时钟,其他三个串口3/4/5(没有串口2)就跟着时钟时钟走,因此其他几个串口外设驱动我也就参考串口0的参考写。但是莫名其妙的是单独串口3不能正常收发,其他几个参考下来
2023-06-03 17:04:07
822
1
原创 解决错误提示:“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
2101
原创 解决告警提示:“warning: #223-D: function “can_single_send“ declared implicitly“方法
今天来简单分享一下关于编译时候出现“warning: #223-D: function “can_single_send” declared implicitly”告警信息的其中一个原因,因为出现这种提示可能有因为函数名字不一致导致的,也有可能因为函数声音出现在其他头文件中导致的。而该告警提示的意思是:can_single_send函数为隐式声明,而我当时是在其他源文件里面使用了该文件,并且也引用了相应头文件,但是编译时候提示我上述告警提示,好了,今天的分享就到这里~
2023-05-28 17:54:59
10440
原创 关于复旦微FM33LG0XX系列芯片串口发送需要先发送一个字节的原因
今天分享一个很有趣的现象,就是最近使用到我们国产品牌复旦微的一款32位单片机芯片(FM33LG0XX),我发现这个芯片使用串口发送中断时候必须先发送一个字节先,才能把相应的发送标志位标志上来,跟我们以前经常用的STM32芯片好像有点不一样是吧。据了解,想灵动微和复旦微的部分芯片使用串口发送中断都是需要这样子来发送。像STM32和GD32只要使能了相应的中断和使用了串口发送接口函数就可以将你想发的数据发送出去。
2023-05-16 16:05:52
652
原创 解决“在Debug模式下,多按几次自动运行,程序才可以可以运行起来”的问题方法
今天来分享一个自己以前遇到过的一个在使用keil时候使用C库函数中的printf函数会出现的一种现象。话不多说,咱们先说一下现象:就是程序下载进去后不执行,就算是断电之后,再重新上电也没用。但是在Debug模式下,多按几次自动运行,程序就可以运行起来
2023-05-13 19:43:34
1326
3
原创 解决错误提示“error: #5: cannot open source input file “core_cmInstr.h“: No such file or directory“方法
今天来分享一个我们在初期开发单片机时候遇到的一个很常见的错误,就是提示“error: #5: cannot open source input file “core_cmInstr.h”: No such file or directory”错误信息。
2023-05-03 22:45:36
11541
原创 分享串口接收中断只能接收到一个字节的其中一个原因
没办法,我就换了几块板子试试看,发现还是同样的问题,思来思去,又把串口部分看了一遍,最后想到不会使我485转串口连接端子那边有问题吧,因为之前也遇到过485转串口的连接端子线出现问题不能接受和发送,这次只能接受一个字节不会真的是这个原因吧!!!,于是我就把这个端子线换了一下,没想到,串口真的恢复了,我去啊,没想到是物理问题造成的。
2023-04-28 23:38:21
5508
5
原创 解决提示“Browse information of one or more files is not available: xxx\Source\system_gd32f20x.c“问题
今天分享一个之前遇到的让我头疼了一个下午的问题,就是因为我把一个头文件添加进工程之后就开始各种报错。因为之前不知道为什么我的keil可能安装了一个新的,所以之前工程的头文件路径变了,然后编译就开始报错,错误信息为:
2023-04-27 22:30:12
1232
原创 关于自己对像Chat-GPT的反应速度感悟
这几个月相信大家应该对ChatGPT都不陌生了吧,因为这个东西已经在各大社交媒体可以说是无限次曝光了,就连一些其他行业的(完全跟科技行业沾不上边的朋友们)都知道了。可想而知,这个是有多火了。
2023-04-18 22:13:41
328
原创 解决提示“Warning File ‘CMakeFilesxxxxxx.dirprogress.make‘ has modification time 2.4 s in the future”方法
今天分享一个我自己之前在使用虚拟机中使用cmake进行编译连接时候产生的一个告警提示,首先看告警提示:
2023-04-09 13:41:26
1186
1
原创 补充对“Cannot determine link language for target”出现该问题的另外一种原因
其最根本的原理是cmake在编译链接时候找不到源文件,但是这种情况却是千奇百怪的,比如上篇文章中提到的定义的库名不一致导致的,或者是因为编译文件的类型有误。
2023-04-02 23:24:41
1996
原创 解决出现“CMake can not determine linker language for target”问题的方法
今天来分享一个我在编写CmakeList文件曾遇到的一个错误。,而导致这个提示还有一种原因是你需要参与编译的文件类型不对,所以系统会提示你CMake无法确定目标xxx的链接器语言。②:查找一下生成相应库的时候其名称定义是否不一致,我这次就是这个原因导致的。①:确定需要参与编译的你的文件类型是否需要cmake要求。
2023-03-11 14:13:54
10720
原创 讲解为什么会提示“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
4148
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
3793
原创 解决“invalid operands to binary & (have ‘float‘ and ‘int‘)”错误的方法
今天继续来分享一个自己今天遇到的错误,错误提示信息:“invalid operands to binary & (have ‘float’ and ‘int’)” ,可能有些小伙伴可能会问,为什么不能对浮点数进行&呢?因为浮点数与整形不一样,不能直接进行位运算。
2023-02-23 00:00:11
31068
原创 解决提示“previous definition of...“或者“conflicting types for...“问题方法
我们从上面的错误信息可以看出,**错误的根本原因是因为我定义了两个不同类型的变量:“battery_lod_num”**。
2023-02-21 22:15:43
3378
原创 解决“结构 “<unnamed>“ 没有字段 “ac_vol“ C/C++(136)”的错误提示
今天来分享一个自己遇到的错误提示,其实这个错误如果是粗心,可能经常会遇到,哈哈哈如果你的编译器有代码自动补全可能不太会遇到~。好了,我们看一下这个错误,这个错误提示我们:“结构 unnamed 没有字段 “ac_vol" C/C++(136)”,,这些很容易出现在一些没有代码补全的编译器中。因为一不小心打错了就会提示你错误。好了,今天分享就到这里为止~
2023-02-19 00:07:20
2269
3
原创 Git教程个人分享:如何将一个本地项目上传至远程仓库的流程
今天来分享一下,关于Git的一些教程,同时这也是我自己曾今学习Git时候的笔记,之所以更,也是方便后期自己可以去回顾,当然后面也会出一部分关于Git其他操作方面的内容。这次我们分享的是,如何将一个本地项目上传至远程仓库的流程,相信这个操作应该是在大部分公司都需要用到的,因为有时候我们共同开发或者将自己开发的项目上传至公司自己的服务器(公司内网Git),都需要去用到,而这里我们以第一次使用Git上传的角度来讲解本次操作流程。适合初次使用或者还不熟悉Git使用的朋友。好了,话不多说,我们现在开始将~
2023-02-12 12:27:35
20786
3
原创 C规范编辑笔记(十四)
规则——不要使用 setjmp() 和 longjump() 函数。另外建议错误返回相应的数字来代表不同情况下的错误,不建议使用exit();
2023-01-22 21:45:19
1439
原创 C规范编辑笔记(十三)
另外有必要将内存区域与其用途相关联:表示不同值的数据存储在单独的内存空间中。如果共享内存区域被回收,请确保在重新使用之前将其擦除。 一旦程序不再需要访问这些数据,就必须明确删除所有包含敏感数据的内存区域
2023-01-21 14:51:33
939
1
原创 C规范编辑笔记(十二)
这里说的是“扩大”,我们知道,realloc是从堆上分配内存的,当扩大一块内存空间时, realloc()试图直接从堆上现存的数据后面的那些字节中获得附加的字节,如果能够满足,自然天下太平。也就是说,如果原先的内存大小后面还有足够的空闲空间用来分配,加上原来的空间大小= newsize。2、如果原先的内存大小后面没有足够的空闲空间用来分配,那么从堆中另外找一块newsize大小的内存。放假了,就把这个C规范编辑笔记更新完吧,估计应该还可以更新两三篇估计就结束了,今天我们来讲第十二篇,话不多说,直接开讲~
2023-01-20 10:51:32
1843
原创 C规范编辑笔记(十一)
C 语言可以将结构作为函数的参数传递。然后将它们复制到堆栈中。然而,这对性能不利,并增加了堆栈溢出甚至敏感数据泄漏的风险。 与结构对应的参数必须以 const 限定指针的形式传递。然后仅将结构的地址复制到堆栈。此外,const 修饰符可防止更改指向的对象。
2023-01-19 15:38:51
1014
2
原创 C规范编辑笔记(十)
这个我们就不说明了,定义函数都需要一个函数原型/声明,而静态函数因为作用域只在自己定义的文件中,所以就不需要函数声明/原型。
2023-01-19 15:00:03
946
原创 C规范编辑笔记(九)
当然如果你不想让别人去轻易上手你的代码,你可以加点自己的想法进去~ 当然我这里的目的是告诉你规范编写。包含多重赋值的代码很难阅读,也很难维护。5、C语言有许多运算符,根据它们的结合性有不同的优先级。但是,表达式中没有括号,很难理解和校对。今天我们来分享一下C规范编辑笔记第九篇,话不多说,我们直接来看~好了,第九篇C规范编辑笔记分享我们就到这里了,我们第十篇见~
2022-12-27 17:41:37
488
2
Modbus协议规范(中文).pdf
2022-07-17
STM32F103C8T6(LQFP48封装)详细引脚表
2022-04-13
PCB 3D Model lib.rar
2022-01-18
PLJ频率计项目资源包.rar
2021-05-18
Proteus补丁.rar
2021-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人