OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8038|回复: 12

定时器初始化 警告

[复制链接]

24

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2012-8-29
在线时间
3 小时
发表于 2012-12-21 13:01:49 | 显示全部楼层 |阅读模式

这个工程是在原子的以太网卡实验的基础上修改的:
        工程中用了3个定时器:
        Timer2  usmart.c中用了
        Timer3  本项目用用于定时判断某个IO脚的输出状况:
        Timer4  enc28j60.c 以太网模块用

就是新增的这个Timer3 在初始化函数中,在编译时警告:枚举类型和其它类型混合:
具体代码如下:


//通用定时器3中断初始化
//这里时钟选择为APB1的2倍,而APB1为36M
//arr:自动重装值。
//psc:时钟预分频数
//这里使用的是定时器3!
void TIM3_Int_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能
       【 上面这句编译时: warning:  #188-D: enumerated type mixed with another type】

TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 计数到5000为500ms
TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
 
TIM_ITConfig( TIM3,TIM_IT_Update|TIM_IT_Trigger,ENABLE);//使能定时器2更新触发中断
      【 上面这句编译时: warning:  #188-D: enumerated type mixed with another type】
 
TIM_Cmd(TIM3, ENABLE);  //使能TIMx外设
       【 上面这句编译时: warning:  #188-D: enumerated type mixed with another type】
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;  //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;  //从优先级3级

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
      【 上面这句编译时: warning:  #188-D: enumerated type mixed with another type】

NVIC_Init(&NVIC_InitStructure);  //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器
}


琢磨了1个小时也没想明白,错在哪儿了。

万能的、伟大的原子大师:帮我看看,错在哪儿了?


我白天是个程序员,晚上就是个有抱负的演员。住在天朝的魔都,有条同名的狗......
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1351
金钱
1351
注册时间
2012-4-25
在线时间
195 小时
发表于 2012-12-21 14:24:33 | 显示全部楼层
 ENABLE ==>warning:  #188-D: enumerated type mixed with another type  
1-1
回复 支持 反对

使用道具 举报

24

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2012-8-29
在线时间
3 小时
 楼主| 发表于 2012-12-21 14:45:02 | 显示全部楼层
您是说:是由于使能导致的警告? 能否详细指点下,谢谢!
我白天是个程序员,晚上就是个有抱负的演员。住在天朝的魔都,有条同名的狗......
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-12-21 14:45:38 | 显示全部楼层
回复【楼主位】liwanfei:
---------------------------------
别这么夸我啊...受不起.
我不用库...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-12-21 14:46:54 | 显示全部楼层
另外,我尝试在我们库文件的代码里面加入你的东西,直接就报错了.我的3.5的库.



我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-12-21 14:47:13 | 显示全部楼层
一堆的没定义...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

24

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2012-8-29
在线时间
3 小时
 楼主| 发表于 2012-12-21 14:47:43 | 显示全部楼层
哈哈,您是公认的大师。 帮我看看,哪里整得不对导致的警告啊?
我白天是个程序员,晚上就是个有抱负的演员。住在天朝的魔都,有条同名的狗......
回复 支持 反对

使用道具 举报

24

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2012-8-29
在线时间
3 小时
 楼主| 发表于 2012-12-21 14:50:11 | 显示全部楼层
我这没报告未定义,是否忘记 #include "stm32f10x_tim.h"?
我白天是个程序员,晚上就是个有抱负的演员。住在天朝的魔都,有条同名的狗......
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-12-21 14:59:00 | 显示全部楼层
真是忘了,呵呵.
 #include "stm32f10x_tim.h"
 void TIM3_Int_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能
     //  【 上面这句编译时: warning:  #188-D: enumerated type mixed with another type】

TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值  计数到5000为500ms
TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
 
TIM_ITConfig( TIM3,TIM_IT_Update|TIM_IT_Trigger,ENABLE);//使能定时器2更新触发中断
    //  【 上面这句编译时: warning:  #188-D: enumerated type mixed with another type】
 
TIM_Cmd(TIM3, ENABLE);  //使能TIMx外设
    //   【 上面这句编译时: warning:  #188-D: enumerated type mixed with another type】

NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;  //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;  //从优先级3级

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
    //  【 上面这句编译时: warning:  #188-D: enumerated type mixed with another type】

NVIC_Init(&NVIC_InitStructure);  //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器 
}
编译无警告,无错误.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-12-21 14:59:17 | 显示全部楼层
工程

实验0 Template工程模板.rar

266.35 KB, 下载次数: 160

回复 支持 反对

使用道具 举报

24

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2012-8-29
在线时间
3 小时
 楼主| 发表于 2012-12-21 15:02:06 | 显示全部楼层
谢谢啊,我把3个timer放在你那个工程模版里一起编译,就不报错了。真是郁闷了,不知道错在何方?
我白天是个程序员,晚上就是个有抱负的演员。住在天朝的魔都,有条同名的狗......
回复 支持 反对

使用道具 举报

24

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2012-8-29
在线时间
3 小时
 楼主| 发表于 2012-12-21 15:29:47 | 显示全部楼层
大师:按照你的点拨,我把这个timer3的初始化搬到timerx.c文件中,就不报告警告了。

我怀疑是MDK本身的问题。

上次,我循环嵌套了很多层后,MDK也没有报错,实际运行时,嵌在最里面的代码根本就不执行,直接跳过。我单步跟踪时才发现这个问题,一身的汗啊。

问题总算解决了,今天不是世界末日啊!再次感谢救世主!
我白天是个程序员,晚上就是个有抱负的演员。住在天朝的魔都,有条同名的狗......
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2017-12-7
在线时间
16 小时
发表于 2021-4-20 18:57:03 | 显示全部楼层
同样问题,TIM3文件添加就报错,在试着换个文件Tim2也报错,报一堆没用的问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 05:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表