打印

请教IAR5.3下STM32 3.0库调试的问题

[复制链接]
5317|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 礦ision 于 2009-9-17 15:38 编辑

请教一下
Error[Pa045]: function "__STREXW" has no prototype

Warning[Pe223]: function "assert_param" declared implicitly
的原因和解决办法。

1> Error[Pa045]: function "__STREXW" has no prototype
这个错误提示是在Options——C/C++ Complier——Language里勾选Require Protypes 后出现的,不勾选就不会出现,请问问什么,勾不勾选有什么影响?我看圈圈的工程模块是推荐要勾选这个选项的

2>Warning[Pe223]: function "assert_param" declared implicitly
出现这个警告后,通过搜索发现在每个出现这个警告的文件头部加上#include "stm32f10x_conf.h"能解决问题,请问这又是为什么呢?

本人新手,问题幼稚,还望大家能有耐心指点迷津,谢谢!


沙发
香水城| | 2009-9-17 17:22 | 只看该作者
C语言中要求在调用每个函数之前,要明确说明这个函数的原型,即它的参数表、参数类型和返回类型等,如没有明确说明,则编译器会使用默认的原型,并给出警告。

勾选Require Protypes就是开放我上面说的规则检查。

文件"stm32f10x_conf.h"中有函数的原型,文件头部加上#include "stm32f10x_conf.h"表示编译该文件时明确说明了相应函数的原型,所以没有了警告。

使用特权

评论回复
板凳
lofeng| | 2009-12-16 23:36 | 只看该作者
香版主,出现error是两个只读文件:core_m3.c和stm32f10x_pwr.c
通过在core_m3.c中添加
#include "stm32f10x_conf.h"
或者
#include "stm32f10x.h"
都可以解决编译这个文件时提示的12个错误

但是stm32f10x_pwr.c文件中的两个错误并不能通过这种方法来解决

使用特权

评论回复
地板
lofeng| | 2009-12-16 23:37 | 只看该作者
个人觉得固件库的文件包含上存在一定的问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

66

帖子

0

粉丝