打印
[其他ST产品]

TIM_Cmd问题

[复制链接]
3035|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
!@#|  楼主 | 2018-11-19 13:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么在uv5中TIM_Cmd(TIM1,ENABLE)会出现“implicit declaration of function tim_cmd is invalid in c99”而致编译失败?奇怪的是,所有关于tim的头文件都放进去了,还是不行。
是不是uv5的版本问题?
沙发
wsmysyn| | 2018-11-19 16:08 | 只看该作者
和版本的关系不大,应该还是设置问题可能是,

比如c/cpp文件有加到工程?c/cpp的属性设置?等

编译器的设置?还有是否用了C++的语法,而不是C的语法?等等

使用特权

评论回复
板凳
dongnanxibei| | 2018-11-19 16:36 | 只看该作者
需要在属性里两个地方设置路径和添加头文件。

使用特权

评论回复
地板
!@#|  楼主 | 2018-11-20 13:46 | 只看该作者
wsmysyn 发表于 2018-11-19 16:08
和版本的关系不大,应该还是设置问题可能是,

比如c/cpp文件有加到工程?c/cpp的属性设置?等

c/c++页的选项只有c99

使用特权

评论回复
5
!@#|  楼主 | 2018-11-20 13:56 | 只看该作者
dongnanxibei 发表于 2018-11-19 16:36
需要在属性里两个地方设置路径和添加头文件。

在c/c++页已经加入了inc.文件,是cubemx自动生成的,另外在ASM里加入同样一份inc 文件,还是不行。

使用特权

评论回复
6
wsmysyn| | 2018-11-20 15:22 | 只看该作者
!@# 发表于 2018-11-20 13:46
c/c++页的选项只有c99

我用的是V 5.26.2.0版本,官网上能下到的最新版本。也使用了timer的外设,我是用的库文件方式,不是cube生成的。

可以C/C++页的misc control可以使用--CPP11,就可以选择使用C++11来编译

使用特权

评论回复
7
!@#|  楼主 | 2018-11-20 16:17 | 只看该作者
wsmysyn 发表于 2018-11-20 15:22
我用的是V 5.26.2.0版本,官网上能下到的最新版本。也使用了timer的外设,我是用的库文件方式,不是cube ...

还是不行。。。。

使用特权

评论回复
8
wsmysyn| | 2018-11-20 16:44 | 只看该作者
!@# 发表于 2018-11-20 16:17
还是不行。。。。

现在你用的是什么版本的keil?

如果方便的话,可以提供一下完整的keil工程文件我在V5.26的环境上试一下,

另外你现在的环境有可以正常跑的通的工程是么?只是加了timer相关的驱动之后就不行了?

感觉应该还是哪里设置的问题,,



使用特权

评论回复
9
磨砂| | 2018-11-21 09:51 | 只看该作者
升级一下试试

使用特权

评论回复
10
香水城| | 2018-11-21 11:40 | 只看该作者
99.9999%的可能性是你工程建得有问题。
你可以重新建一个或基于ST官方库打开TIMER相关的工程。我这边用MDK一点问题没有。

使用特权

评论回复
11
paotangsan| | 2018-11-21 13:42 | 只看该作者
卸载了从新安装

使用特权

评论回复
12
!@#|  楼主 | 2018-11-22 08:46 | 只看该作者
wsmysyn 发表于 2018-11-20 16:44
现在你用的是什么版本的keil?

如果方便的话,可以提供一下完整的keil工程文件我在V5.26的环境上试一下 ...

5.25的,运行demo都没问题, 我试一下5.26看看。

使用特权

评论回复
13
!@#|  楼主 | 2018-11-22 08:46 | 只看该作者

我试一下5.26

使用特权

评论回复
14
!@#|  楼主 | 2018-11-22 08:48 | 只看该作者
香水城 发表于 2018-11-21 11:40
99.9999%的可能性是你工程建得有问题。
你可以重新建一个或基于ST官方库打开TIMER相关的工程。我这边用MDK ...

我试一下不用cubemx

使用特权

评论回复
15
!@#|  楼主 | 2018-11-22 09:26 | 只看该作者
!@# 发表于 2018-11-22 08:46
5.25的,运行demo都没问题, 我试一下5.26看看。

在申明里额外加了个int TIM_Cmd();不会出错,但不知道编译行不行,准备试一下

使用特权

评论回复
16
!@#|  楼主 | 2018-11-22 14:04 | 只看该作者
!@# 发表于 2018-11-22 09:26
在申明里额外加了个int TIM_Cmd();不会出错,但不知道编译行不行,准备试一下 ...

在demo里找到了这个void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);加到声明里,解决了,谢谢各位弟兄!

使用特权

评论回复
17
paotangsan| | 2018-12-3 13:59 | 只看该作者

5.26的可以吗

使用特权

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

本版积分规则

!@#

12

主题

36

帖子

0

粉丝