- 博客(14)
- 收藏
- 关注
原创 STM32函数类型声明一个容易被忽略的知识
比如已经typedef unsigned int 为uint32和uint32_t,但是在定义函数的时候返回值为uint32,在.h文件里声明的时候声明为uint32_t,编译会报错。
2024-11-02 15:59:00
147
原创 使用VSCODE的EIDE插件开发STM32
导入MDK工程文件后EIDE会生成一个工作区(以.workspace为后缀),可以直接点这个文件就会自动在vscode打开这个工程,这个打开方式和导入MDK工程文件的区别在于:工作区存储的包括你在EIDE编辑的内容,而MDK工程文件不包括。举个例子:在keil5中只有main.c,gpio.c,gpio.h这三个文件,而你在EIDE中又添加了uart.c和uart.h,之后打开MDK工程文件就只有三个文件,而打开工作区就会有5个文件。
2024-10-29 20:26:20
184
原创 STM32为什么使用一个外设前需要先使能其时钟
寄存器是由D触发器组成的,只有送来了时钟,触发器才能被改写值,这样寄存器才能工作。所以,如果不使能时钟的话,
2024-10-27 12:15:57
248
原创 keil5stm32HAL库报错Error: L6218E: Undefined symbol HAL_XXX
按照这条路打开main.c->main.h->stm32f1xx_hal.h->stm32f1xx_hal_conf.h,stm32f1xx_hal_conf.h这个文件作用是控制这个工程包含那些头文件(用条件编译的方法),默认很多模块的define都是被注释掉的,如果要用到哪个模块就把对应的define删掉(#define HAL_CAN_MODULE_ENABLED和#define HAL_CAN_LEGACY_MODULE_ENABLED这两个好像会有冲突)2.添加相应的源文件。
2024-10-20 11:42:00
926
原创 keil5stm32#include头文件前有红叉,error:cannot find file‘xxx‘
其实可以不管,没有任何影响,编译的时候是能找到的,也不会报错,就是有点别扭而已,忍不了可以用下面的方法解决:这是因为文件路径有中文,文件夹都改为英文就好了
2024-10-12 00:59:11
841
原创 智能车逐飞科技STC32G12K128库函数ips200_showuint16()函数bug
(浪费了我两个小时时间啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,我怀疑过我代码的问题,怀疑过编译器优化等级的问题,怀疑过芯片的问题,怀疑过屏幕的问题,结果是库函数的问题,逐飞你太让我失望了)原因是如果竖屏使用ips屏幕那么就会有320行,显然超出了uint8上限,使用uint8导致调用这个函数的时候只能在前255行显示。被选中的那一行需要改为。
2024-10-06 12:26:45
346
2
原创 keil更改工程名称(彻底)
4.打开keil -> options for target ‘xxx’ -> output -> select folder for objects(自己新建一个文件夹用来存放.hex.o.axf等文件,建议命名为output或者keil_output,让人能一眼就看出来这个文件夹是用来存放output文件的)(这时候如果再编译会发现生成的.hex.o.axf等文件还是旧名称,存放这些文件的文件夹名称也就是旧的,如果这个也想改的话就接着往下做)3.把剩下所有只要文件名是旧工程名字的全删掉。
2024-09-26 20:30:14
1617
原创 keil导入新文件编译失败:FCARM - Output Name not specified, please check ‘Options for Target - Utilities‘
把所有新导入的文件的Include in Target Build前面的对勾取消掉(我刚开始看见是灰色还以为不能改),然后编译一下(不用管能不能编译成功),然后再把对勾回复原样再编译就可以了。改完之后图标也会变化,上图LED.c是正确是识别的,LED.h没有正确识别,也得改一下。把新导入的文件都改为c source file就可以了。
2024-09-25 17:38:11
759
1
原创 keil5问题ERROR: FILE DOES NOT EXIST
经过我的多次尝试基本可以确定:如果keil5工程文件的文件夹名是中文那么在编译的时候有一定可能会出现这个报错,改为数字或者英文就没事了。
2024-09-07 14:25:50
447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人