打印

2407的C程序问题

[复制链接]
2600|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nualhc|  楼主 | 2007-2-3 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
liudewei| | 2007-2-4 20:13 | 只看该作者

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

//*ADCTRL2=0x4746;//表明不能被事件管理器A启动,虽然你设置//*T2CON=0x1080;//


//
void interrupt T6INT()
{
  
    int ila1,ila,vidata[16],ua,ub,uc,j;    
    *T2CNT=0X0000;//该句的执行会影响T2周期中断的忽大忽小,屏蔽掉后再看。//
    *EVAIFRB=*EVAIFRB|0X0001;
//

这段程序我认为是T2周期中断的处理,你实际是软件启动的ADC。并且将T2CNT赋零,实际此时T2CNT已经走了一点点。

使用特权

评论回复
板凳
nualhc|  楼主 | 2007-2-5 12:37 | 只看该作者

感谢楼上的

谢谢二楼的,我那个问题还是没解决啊,而且中断的时间与T2PER的值也不是成线性,很郁闷啊,以前做单片机什么的好象都没出过这种问题。

使用特权

评论回复
地板
liudewei| | 2007-2-5 13:04 | 只看该作者

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

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

使用特权

评论回复
5
nualhc|  楼主 | 2007-2-6 19:11 | 只看该作者

谢谢楼上的

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

16

帖子

0

粉丝