OpenEdv-开源电子网

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

清定时器中断

[复制链接]

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2011-8-12
在线时间
0 小时
发表于 2011-8-12 17:48:26 | 显示全部楼层 |阅读模式

void TIM1_UP_IRQHandler(void)
{
extern u16 Am,y,Datavalue;
extern double da_w,y1;
DAC_InitTypeDef            DAC_InitStructure;
static int iii=0;
    if(TIM_GetITStatus(TIM1,TIM_IT_Update)!=RESET)
    {
         TIM_ClearITPendingBit(TIM1, TIM_FLAG_Update); //清中断标志

            TIM1->SR&=~(1<<0);//再清除中断标志位           ~~清不掉啊~~  寄存器的UIF位一直是打勾的~~

   DAC_StructInit(&DAC_InitStructure);  //把结构体的成员按初始值填入
   
    DAC_InitStructure.DAC_Trigger = DAC_Trigger_Software;
   
   DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
   
  // DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bits8_0;
   
   DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;//DAC_OutputBuffer_Enable;//
   
   DAC_Init(DAC_Channel_1, &DAC_InitStructure);


   DAC_Cmd(DAC_Channel_1, ENABLE);   //在通道使能之前PA4,PA5应先配置成模拟输入

   DAC_SoftwareTriggerCmd(DAC_Channel_1,ENABLE);


   y1=Am*sin(6.283*iii/100);      //用正弦函数计算    
   y=Am+(int)y1;
   if(iii==99)
   iii=0;
   else            
   iii=iii+1;
  
   DAC_SetChannel1Data(DAC_Align_12b_R, y);  //把要转换的值送入寄存器
   DAC_DualSoftwareTriggerCmd(ENABLE);       //使能软件触发,更新DAC的值
   Datavalue=DAC_GetDataOutputValue(DAC_Channel_1);
    }


}

定时器1中断函数,仿真的时候,寄存器的UIF位 一直都是打勾的,

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

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2011-8-12
在线时间
0 小时
 楼主| 发表于 2011-8-12 17:50:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-8-12 19:31:41 | 显示全部楼层
慢慢摸索吧.
UIF应该是0么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2011-8-12
在线时间
0 小时
 楼主| 发表于 2011-8-12 20:02:02 | 显示全部楼层
为什么在你给的程序里就可以清掉,你的定时器中断例程,执行过TIM3->SR&=~(1<<0);//清除中断标志位 
UIF前就没有打勾了,     

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-8-12 21:25:15 | 显示全部楼层
因为我用的是TIM3.
你用MDK自带的例子看看吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2011-8-12
在线时间
0 小时
 楼主| 发表于 2011-8-12 21:58:40 | 显示全部楼层
哦,我有空再看看吧
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 20:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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