2407的C程序问题

[复制链接]
3483|7
 楼主| nualhc 发表于 2007-2-3 20:40 | 显示全部楼层 |阅读模式
用T2周期中断启动A/D转换,但中断的时间间隔却不是T2的周期,主频、分频系数什么的好象都没有问题啊,很奇怪的,各位有没有遇到过类似的问题啊,指点一二啊,谢谢了!附上我的程序,也可供初学者参考啊<br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/20072/200723203955299.rar'>https://bbs.21ic.com/upfiles/img/20072/200723203955299.rar</a>
liudewei 发表于 2007-2-4 20:13 | 显示全部楼层

你在T6INT()中断中的的处理问题。

//*ADCTRL2=0x4746;//表明不能被事件管理器A启动,虽然你设置//*T2CON=0x1080;//<br /><br /><br />//<br />void&nbsp;interrupt&nbsp;T6INT()<br />{<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;ila1,ila,vidata[16],ua,ub,uc,j;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;*T2CNT=0X0000;//该句的执行会影响T2周期中断的忽大忽小,屏蔽掉后再看。//<br />&nbsp;&nbsp;&nbsp;&nbsp;*EVAIFRB=*EVAIFRB|0X0001;<br />//<br /><br />这段程序我认为是T2周期中断的处理,你实际是软件启动的ADC。并且将T2CNT赋零,实际此时T2CNT已经走了一点点。
 楼主| nualhc 发表于 2007-2-5 12:37 | 显示全部楼层

感谢楼上的

谢谢二楼的,我那个问题还是没解决啊,而且中断的时间与T2PER的值也不是成线性,很郁闷啊,以前做单片机什么的好象都没出过这种问题。
liudewei 发表于 2007-2-5 13:04 | 显示全部楼层

我想LZ是不是指中断响应的时间不是和T2PER一致?

这个是肯定的,周期中断标志的置位时间是很确定的,但是中断响应确实有一定的延时时间。它由外设同步接口时间、CPU响应时间、ISR转移时间构成。其中CPU响应不可确定,包含识别使能的中断、响应中断、清除流水线、从中断向量表获得第一条指令。这个过程时间每次会有一定的差异,特别是有多个中断源的情况下。
 楼主| nualhc 发表于 2007-2-6 19:11 | 显示全部楼层

谢谢楼上的

刘德威,您好!很感谢您的帮忙!很巧我们也是本家,这个问题很头疼,我始终觉得是不是哪个地方设置有问题,但所有设置与另一个汇编程序完全一致,而汇编程序的运行结果则是完全正确的。我认为2407的中断周期时间应该是能精确控制的,否则对信号的定时采样等功能就无法完成啊。您能留个联系方式吗,QQ或EMAIL,想细致地向您请教啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部