OpenEdv-开源电子网

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

求助啊!求助!时钟问题!

[复制链接]

4

主题

8

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2012-1-30
在线时间
0 小时
发表于 2012-2-2 19:32:07 | 显示全部楼层 |阅读模式

//第一组热电阻控制
  if(rtdout1<tmin)  //温度是否小于最小值
   {
    GPIO_ResetBits(GPIOD,GPIO_Pin_0);  //关闭阀门1
    GPIO_ResetBits(GPIOD,GPIO_Pin_1);  //关闭阀门2
           RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,DISABLE); //时钟关闭
   }
   else
      {
  if(rtdout1>tmax)  //温度是否大于最大值
   {
    GPIO_SetBits(GPIOD,GPIO_Pin_0);   //开启阀门1
           RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); //时钟开启
          }
         else
           {
           }
           if(TIM_GetFlagStatus(TIM2,TIM_FLAG_Update)!=RESET&&rtdout1>tmax) 
           //判断定时1分钟是否溢出并且此时温度大于最大值
     {
             GPIO_SetBits(GPIOD,GPIO_Pin_1);  //是的话开启阀门2      
            }
  else
     {
     }
      }

 

void Timer_Configuration(void)
 {
 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
 TIM_DeInit(TIM2);
 TIM_TimeBaseStructure.TIM_Period=1999;   //周期1999
 TIM_TimeBaseStructure.TIM_Prescaler=35999;  //预分频 72MHZ/(35999+1)=2000HZ
 TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;  //72MHZ
 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;   //模式为向上计数
 TIM_TimeBaseStructure.TIM_RepetitionCounter=60; //按照72MHZ计算 定时为1S 重复60次计数为1分钟
 TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);  //初始化时钟
 TIM_ClearFlag(TIM2,TIM_FLAG_Update);  //清除中断溢出标志
 TIM_ARRPreloadConfig(TIM2,DISABLE);            //禁止ARR预装载缓冲器
 TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);  //允许溢出
 TIM_Cmd(TIM2,ENABLE);           //允许计数
 }

void NVIC_Configuration(void)
{
#ifdef  VECT_TAB_RAM 
  /* Set the Vector Table base location at 0x20000000 */
  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
#else  /* VECT_TAB_FLASH  */
  /* Set the Vector Table base location at 0x08000000 */
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);  
#endif

 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);  //选择优先级组别
 NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQChannel; //中断通道
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; //0级抢占式优先级
 NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; //0级优先级响应
 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;    //使能中断
 NVIC_Init(&NVIC_InitStructure);
 

}


这个是我写的温控逻辑与定时器中断设置  当温度小于tmin时阀门关闭 时钟关闭  当温度大于tmax时开启阀门1 时钟开启计数  当1分钟以后如果温度还大于tmax开阀门2
问题在于 我进行模拟实验的时候 温度大于tmax时候阀门1开启  1分钟以后阀门2不开启 不知道问题出在哪里 希望大虾和大神们帮助下!谢谢了!我估计是时钟问题!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

4

主题

8

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2012-1-30
在线时间
0 小时
 楼主| 发表于 2012-2-3 11:19:10 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
这个结果已经用KEIL加板子实验 就是定时器溢出不起作用 也可以说是定时功能好像没有起作用 原子哥帮我看看哪里出现问题导致不能计时 反复开启时钟 计时器是否启动
还有TIM2计时是否自动累加 如不自动累加 将要怎么设置!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-2-3 11:50:49 | 显示全部楼层
回复【3楼】qianxiaoyu520:
---------------------------------
我不用库函数的.
你软件仿真,对着MDK的例子看看吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

8

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2012-1-30
在线时间
0 小时
 楼主| 发表于 2012-2-3 12:17:38 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
悲剧的是 没有对于TIMER定时的例程 唯一的问题就是为何中断溢出没有 本质问题就是 计时无效 原子哥能否给予一些建议 实在找不出哪里有问题 
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-2-3 12:23:26 | 显示全部楼层
回复【5楼】qianxiaoyu520:
---------------------------------
中断溢出需要你设置啊
设置溢出需要执行的事件,比如中断.
然后你要编写中断服务函数.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 20:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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