标题: 关于68908QT4仿真状态下读不出中断采样ad值 [打印本页]
作者: ssj-hero 时间: 2006-3-1 22:20 标题: 关于68908QT4仿真状态下读不出中断采样ad值
各位大虾我遇到问题如下:
1:在仿真环境下 在主程序里设断点却读不到全局变量advv传回的AD中断方式采样的值,而在AD终端里可以读到AD值得变化,如脱机运行则正常 为何?环境CW3.1,
2:脱机上电运行有时跑起来,有时跑不起来为何?
请给为大虾赐教谢谢!
作者: ssj-hero 时间: 2006-3-1 22:21
void #include "hidef.h"
#pragma DATA_SEG SHORT _DATA_ZEROPAGE
// I/O register definition
volatile unsigned char PTA @0x0000; // Port A data register
volatile unsigned char DDRA @0x0004; // Port A data direction register
volatile unsigned char CONFIG2 @0x001E; // Configuration register 2
volatile unsigned char CONFIG1 @0x001F; // Configuration register 1
volatile unsigned char OSCSTAT @0x0036; // Oscillator status register
volatile unsigned char ADSCR @0x003C; // ADC status and control register
volatile unsigned char ADR @0x003E; // ADC data register
volatile unsigned char ADICLK @0x003F; // ADC data register
static unsigned char advv;
void delay (unsigned char dly)
{
int i;
do
{
for(i=0; i<100; i++)
;
}
while(dly-- > 0);
}
void main (void)
{
// unsigned char flg;
// int cnt,ad1,ad2;
// flg=0;
// cnt=0;
CONFIG1 |= 0x09; // Disables COP
CONFIG2 = 0x40; // Enables external oscillator and RESET pin
OSCSTAT = 0x00; // Enables external clock generator
DDRA |= 0x0; // PTA1 = LED output 0X0B PTA3 OUT
ADSCR = 0x03; // Enables ADC channel 2
ADICLK=0x96;
EnableInterrupts // Enables Global Interrupt
ADSCR = 0x42;
作者: ssj-hero 时间: 2006-3-1 22:21
for(;;) // Forever
{
delay (advv); // Uses the ADC value (in ms) to perform a delay
PTA ^= 0x8; // Toggles user LED
}
}
void irq_isr (void)
{
asm {
wait_irq:
bil wait_irq ; Waits for the IRQ signal to go high
jmp $0FE1A ; Jumps to monitor code
}
}
interrupt 16 void irq_ad(void)
{
static unsigned char adval,lkk;
adval=0;
lkk=12;
adval=ADICLK;
adval=ADR;
lkk=lkk+adval;
advv=(adval>>1);
ADSCR = 0x42;
}
作者: strongchen 时间: 2006-3-2 10:22
你是处在软件仿真还是硬件调试状态中?
作者: ssj-hero 时间: 2006-3-2 13:55
我是在硬件仿真状态测试的
作者: strongchen 时间: 2006-3-2 15:25
有没有进ADC中断程序?中断地址对不对?
作者: ssj-hero 时间: 2006-3-4 17:59
可以ADC中断程序读去正确的值,为何在主循环里读不到?
作者: strongchen 时间: 2006-3-7 12:10
看看你的变量在主程序和中断程序中是否指向同一地址?
作者: ssj-hero 时间: 2006-3-9 21:22
还是老问题怎么办呢? 我试试看,谢谢斑竹。
作者: ssj-hero 时间: 2006-3-9 21:23
斑竹你有qq号么?能否亲自问问你呢?
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |