4015|7

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

想问一下ad中断的结果问题。。。 [复制链接]

result寄存器到底是只存转换好的结果,还是连中间结果也用这个寄存器的呢?我在调试ad中断的时候用的是“仿真挂起立即停止转化”,然后我设置断点,到断点出看result寄存器,发现不是我要的值,在设置方式字为“仿真挂起后转换完毕后在停止ad”,这样的话到断点出在单步一条指令就会出现我要的期望值,难道ad的中间结果也放在result寄存器???

最新回复

除非精度要求高,否则不用校准.  详情 回复 发表于 2008-5-9 11:42
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
result寄存器不存中间结果.用“仿真挂起立即停止转化”,结果不
对,有可能是还没有转化完就停止了.
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
在设置方式字为“仿真挂起后转换完毕后在停止ad”,这样的话到断点处只有再单步一条指令才会出现我要的期望值,这个是为什么而不是立即就在result里面出现我要的东西?更奇怪的是这样还是要在自动排序模式下才可以,在启动/停止的模式下根本就不会出现我要的正确值,就算断点处单步也不行啊。。。。。。

贴一下我的程序:
ADINIT:
               
                LDP                #DP_PF2
                SPLK         #2050H,ADCTRL1            ;AD在仿真悬挂时候转化完之后停止,级联,自动排序模式
       
                SPLK         #0001H,MAXCONV            ;2个 通道
                SPLK         #0010H,CHSELSEQ1        ;选择1通道
                SPLK        #0000H,CHSELSEQ2
                SPLK        #0000H,CHSELSEQ3
                SPLK         #0000H,CHSELSEQ4
               
                SPLK         #0400H,ADCTRL2           ;中断方式1,EVAEVB都不能引起AD中断
                RET       

;----------------------------启动模数转换程序------------------------------------------------------
ADSTART:
                CLRC        INTM
                LDP          #DP_PF2
                LACL        ADCTRL2
                OR        #2000H                                ;启动AD
                SACL        ADCTRL2
                RET
                                       
GISR1:
                        LDP  #0E0H
                          LACC PIVR,1             ;读取外设中断向量寄存器(PIVR),并左移一位-->ACC
                          ADD  #PVECTORS    ;加上外设中断入口地址
                        BACC                      ;跳到相应的中断服务子程序

ADCINT_ISR:
                                       
                       
                        LDP          #DP_PF2                                ;清AD中断标志INT FLAG SEQ1
                        LACL        ADCTRL2                               
                        OR                #2200H                                ;重新启动AD,并指向conv00
                        SACL        ADCTRL2
                        CLRC         INTM
                               
                        RET
                                            
                           END

我的初始化有问题么???
我result是直接看memory的,0X70a8和0x70a9,两个通的的result都有不对。。。硬件上面应该没有问题。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
                         LACL        ADCTRL2                                
                        OR                #2200H                         ;重新启动AD,并指向conv00
                        SACL        ADCTRL2

你为什么要或2200呢?位9是中断标志位,置1表示发生过中断,
你怎么手动置一呢?
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
你怎么手动置一呢? 写1是清中断。。。写0是无作用。。。dsp好像int flag都是写1清的。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 
那我就不清楚了,我没用过AD中断.
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

7
 
请问用AD中断的时候是不是先要校准模式来校准???
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

8
 
除非精度要求高,否则不用校准.
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表