OpenEdv-开源电子网

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

tim1中断的问题

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2014-10-25
在线时间
0 小时
发表于 2014-10-25 16:20:43 | 显示全部楼层 |阅读模式
5金钱

void BLDC_TIM1Config(void)
{
   TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;      //基本结构体变量定义
   TIM_OCInitTypeDef    TIM_OCInitStructure;               //输出结构体变量定义
   TIM_BDTRInitTypeDef   TIM_BDTRInitStructure;      //死区刹车结构体变量定义

   TIM_DeInit(TIM1);

   TIM_TimeBaseStructure.TIM_Prescaler = 2;        //TIM基本初始化
   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_CenterAligned2;//中央对齐计数模式,输出比较标志位只有在比较器向上计算被设置
   TIM_TimeBaseStructure.TIM_Period = 1500 - 1;        //PWM 16K
   TIM_TimeBaseStructure.TIM_ClockDivision = 0;
   TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;      

   TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);

   TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;      //TIM输出通道初始化
   TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Disable;
   TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;                 
   TIM_OCInitStructure.TIM_Pulse =1200;
   TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
   TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;        
   TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;//TIM_OCIdleState_Set;
   TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;         
 
   TIM_OC1Init(TIM1,&TIM_OCInitStructure);

   TIM_OCInitStructure.TIM_Pulse =1200;
   TIM_OC2Init(TIM1,&TIM_OCInitStructure);

   TIM_OCInitStructure.TIM_Pulse =1200;
   TIM_OC3Init(TIM1,&TIM_OCInitStructure);

   TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;      //TIM输出通道4初始化,用来触发AD注入采样
   TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Disable;                  
   TIM_OCInitStructure.TIM_Pulse =1495;
   TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;          
 
   TIM_OC4Init(TIM1,&TIM_OCInitStructure);
 
   TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable; //死区刹车初始化
   TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable;
   TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_1;
   TIM_BDTRInitStructure.TIM_DeadTime = 100;
   TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable;  //如打开,开机无输出且状态紊乱????
   TIM_BDTRInitStructure.TIM_BreakPolarity =  TIM_BreakPolarity_Low ;
   TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Disable;

   TIM_BDTRConfig(TIM1,&TIM_BDTRInitStructure);


   TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);  //使能捕获比较寄存器预装载(通道1)

   TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);  //使能捕获比较寄存器预装载(通道2)

   TIM_OC3PreloadConfig(TIM1,TIM_OCPreload_Enable);  //使能捕获比较寄存器预装载(通道3)
  
   TIM_SelectInputTrigger(TIM1, TIM_TS_ITR2);        //输入触发源选择TIM3  
 
   //TIM_SelectSlaveMode(TIM1, TIM_SlaveMode_Trigger);//从模式选择 触发  

   TIM_CtrlPWMOutputs(TIM1,ENABLE);

//   TIM_ClearITPendingBit(TIM1, TIM_IT_Break|TIM_IT_COM);
//   TIM_ITConfig(TIM1, TIM_IT_Break | TIM_IT_COM ,ENABLE);
   TIM_ClearITPendingBit( TIM1, TIM_IT_COM);
   TIM_ITConfig(TIM1, TIM_IT_COM ,ENABLE);

   TIM_Cmd(TIM1,ENABLE);
}

start()

  TIM1->SMCR|=0x0006;        //开TIM1的输入触发 
   TIM1->DIER=0x0040;         //开TIM1的触发中断
}
void TIM1_TRG_COM_IRQHandler(void)
{
  TIM1->SR&=0;           //清中断标志
 
  huanxiang();       //调用换向函数
}

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

使用道具 举报

26

主题

467

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
876
金钱
876
注册时间
2013-10-3
在线时间
23 小时
发表于 2014-10-25 17:43:17 | 显示全部楼层
哎,一上来就是这么长的代码,,都没有说是出现了什么问题,不会有人给你看程序的啦,让人家怎么给你解决呢
避免犯错本是错误所在,我错故我在……
回复

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2014-10-25 19:57:14 | 显示全部楼层
上代码,一般我不看的。
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2014-10-25
在线时间
0 小时
 楼主| 发表于 2014-10-27 18:55:49 | 显示全部楼层
回复【3楼】ST-FAE-SALE:
-------------------------
忘了问,谁能告诉我下什么时候进中断?
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2014-10-25
在线时间
0 小时
 楼主| 发表于 2014-10-27 18:56:03 | 显示全部楼层
回复【2楼】zhang164534:
---------------------------------
忘了问,谁能告诉我下什么时候进中断?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 06:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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