智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3901|回复: 6
打印 上一主题 下一主题

[采集类] ATD中断为什么跳不出来?麻烦大家看下。

[复制链接]

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
威望
203
贡献
22
兑换币
0
注册时间
2008-6-21
在线时间
3 小时
跳转到指定楼层
1#
发表于 2009-6-10 17:48:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
我用的是OV5116CMOS摄像头 在程序运行时,在主程序中设置断点,发现程序一直在AD中断程序中运行,回不到主程序中去了,不知道为什么,麻烦哪位高手指点下,谢谢了!程序如下:
void ATD0_init(void)  //AD转换模块初始化
{ ATD0CTL2=0X82;    /*AC模块上电 快速清零自动清除转换完成位 无等待模式 中断允许 禁止外部触发*/
ATD0CTL3=0X00;     /*每序列长度为8 无FIFO转换结果放在相应的寄存器中 冷冻状态下继续工作*/
ATD0CTL4=0X83;     //八位精度 采样时间:2个时钟时间,8倍分频
ATD0CTL5=0X20;      //结果寄存器数据对齐方式:右对齐 无符号 连续队列转换 单通道 通道0
ATD0DIEN=0X00;     //当作为模拟量输入时禁止数字输入   
}
void main(void) {
    EnableInterrupts;
  PLL_init();
  PWM_init();
  ATD0_init();
  PORT_init();
  TFLG1=0xff;
     DisableInterrupts;
  for(;;) {
  // ATD0CTL5=ATD0CTL5_SCAN_MASK;    //以扫描方式开启AD;
   PORTB=0XF0;
         
}
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED     /*ATD中断应用程序 每隔8usATD中断发生一次*/
void interrupt 22 ATD0_ISR(void)
{ ATD0CTL2_ASCIF=0;
AD_value[0]=ATD0DR0H;
AD_value[1]=ATD0DR1H;
AD_value[2]=ATD0DR2H;
AD_value[3]=ATD0DR3H;
AD_value[4]=ATD0DR4H;
AD_value[5]=ATD0DR5H;
AD_value[6]=ATD0DR6H;
AD_value[7]=ATD0DR7H;
  PORTB=0x0F;
   
}

最佳答案

查看完整内容

ATD0CTL2_ASCIF=0; 清零是写1的ATD0CTL2_ASCIF=1

22

主题

518

帖子

0

精华

版主

Rank: 9Rank: 9Rank: 9

积分
6442
QQ
威望
943
贡献
5041
兑换币
99
注册时间
2008-2-26
在线时间
229 小时
2#
发表于 2009-6-10 17:48:24 | 只看该作者
ATD0CTL2_ASCIF=0;
清零是写1的ATD0CTL2_ASCIF=1
回复

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
威望
203
贡献
22
兑换币
0
注册时间
2008-6-21
在线时间
3 小时
3#
 楼主| 发表于 2009-6-11 10:04:16 | 只看该作者
谢谢啊!不过好像还是不行,我在中断函数中把SCAN位 置0,再在主函数中置1就行了,我现在在调ECT和AD的中断,不过好像只要有AD中断,整个程序就运行不起来,唉!满头疼的。还有 上面的DisableInterrupts;是注解掉的,忘改了,不好意思啊
回复

使用道具 举报

14

主题

929

帖子

1

精华

功勋会员

WJ

Rank: 10Rank: 10Rank: 10

积分
6304

特殊贡献奖章

威望
1456
贡献
4674
兑换币
17
注册时间
2008-4-6
在线时间
87 小时
4#
发表于 2009-6-11 12:44:24 | 只看该作者
出不来检查中断标志位是否清了,另外ATD的初始化从最简单的来做,
回复

使用道具 举报

14

主题

929

帖子

1

精华

功勋会员

WJ

Rank: 10Rank: 10Rank: 10

积分
6304

特殊贡献奖章

威望
1456
贡献
4674
兑换币
17
注册时间
2008-4-6
在线时间
87 小时
5#
发表于 2009-6-11 12:44:46 | 只看该作者
出不来检查中断标志位是否清了,另外ATD的初始化从最简单的来做,
回复

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
威望
203
贡献
22
兑换币
0
注册时间
2008-6-21
在线时间
3 小时
6#
 楼主| 发表于 2009-6-13 17:22:49 | 只看该作者
好的,多谢版主提醒!
回复

使用道具 举报

8

主题

130

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1030
QQ
威望
637
贡献
259
兑换币
100
注册时间
2012-2-14
在线时间
67 小时
毕业学校
南阳理工学院
7#
发表于 2012-4-16 10:52:04 | 只看该作者
看看
回复

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-21 01:29 , Processed in 1.364193 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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