目录
2.KEIL软件中编译时出现的Error L6200E: symbol multiply defined ...的解决方法
3.keil软件中编译时出现error: #20: identifier "hadc2" is undefined
声明:此篇博文是记录本人从开始学习计算机过程中遇到的各种类型的报错以解决办法,希望给同道中人提供一点绵薄的帮助,也欢迎大家在评论区讨论或私信我交流问题
共同进步!
一、FPGA系列
1.Synthesis failed
错误:综合失败,但仿真能跑,并且不显示错误
原因&解决:计算机名称带有中文,改成纯英文并且重启计算机即可
2.Quartus II 报错
除了license 问题,还遇到了一运行就闪退的问题
就是正常的安装完毕破解完毕的情况下,打开一会儿就会出现下面的警告,然后点击OK或者右上角 就会闪退
解决:以管理员身份运行就可以正常使用
3.IP is locked
问题:发生IP核锁定,一般是Vivado版本不同导致的,当用新版本打开老版本的project时,会出现下面IP核被锁的情况
解决: Reports -> Report IP Status->
注意:若Upgrade Selected可以点击但 出现 NO ip specified 报错,原因是工程路径中含有中文,将路径改为英文即可
二、STM32系列
1.cortex-M4报错
如果烧录程序时遇到此种情况,是由于该芯片的固件库没有添加
当我用蓝桥杯的STM32G4RBT6这个芯片时,出现了cortex-M4报错,当时我在网上找了很多的解决方法,发现都不能解决问题
打开魔法棒
打开Debug-Settings
点击flashdownload
若发现里面是空白的,则是没有该芯片的固件库,你可以先试着点击Add,看看里面是否已经有但是是你自己没有添加上,还是本来就没有该芯片的固件库
因为我已经安装了,所以点击Add就可以找到G4系列的安装包
这样就可以成功烧录程序啦!!!
附:
其实我在官网上找了该芯片的固件库但每次安装都会报错,但我在b站上找到了可以安装的
如果有需要的可以私信我,
2.KEIL软件中编译时出现的Error L6200E: symbol multiply defined ...的解决方法
原因:重复引用头文件
比如你在main.c中引用了fonts.h这个头文件,而恰好fonts.h中引用了main.h文件,重复引用就会报错。
3.keil软件中编译时出现error: #20: identifier "hadc2" is undefined
//电压测量函数
double get_vol(ADC_HandleTypeDef *hadc)
{
HAL_ADC_Start(hadc);
uint32_t adc_value = HAL_ADC_GetValue(hadc);
return 3.3*adc_value/4096;
}
在子模块中编写该函数时要在头文件中添加adc.h
在heafile.h文件中把所有的头文件包含,就会避免出现此种错误
4.c语言存储类报错
more than one storage class may not be specified
在C语言中,当你看到错误信息 "more than one storage class may not be specified"(不应指定多个存储类),意味着在一个变量声明中不正确地使用了多个存储类说明符。C语言中的存储类说明符包括 auto, register, static, extern, 和 typedef(尽管 typedef 用于定义类型别名,而不是变量的存储类,但有时也可能在错误的上下文中使用)。
extern uint8_t B1;
extern uint8_t B2;
extern uint8_t B3;