[其它应用]

SH79F085打开PGA仿真报错问题

[复制链接]
817|3
手机看帖
扫描二维码
随时随地手机跟帖
luchen66|  楼主 | 2022-10-26 06:41 | 显示全部楼层 |阅读模式
当使用ADC设置PGAM=0x00;仿真器调试是很正常的,当吧这个寄存器设置为PGAM=0x84;仿真器中就会自动报错,退出调试,显示的提示是“在空闲模式”  ,哪位大神碰到过这个问题啊?该怎么解决呢

使用特权

评论回复
luchen66|  楼主 | 2022-10-26 06:43 | 显示全部楼层
就是这个提示
3494163586664d4aad.png

使用特权

评论回复
luchen66|  楼主 | 2022-10-26 09:54 | 显示全部楼层
ADC的初始化代码如下:
        REGCON=1;//开启电源稳压器
        ADCON=0x11;//选择外部参考电压
        ADT=173;//adc转换频率为25HZ
        ADCH=0x8b;
        PGAM=0x84;                //PGA Gain=12.5,chop=1K
        //PGAM=0x94;                //PGA Gain=25,chop=1K
        //PGAM=0xA4;                //PGA Gain=50,chop=1K
        //PGAM=0xB4;                //PGA Gain=75,chop=1K
        //PGAM=0xC4;                //PGA Gain=100,chop=1K
        //PGAM=0xD4;                //PGA Gain=125,chop=1K
        ADRAND=0x80;
        EADC=1;//使能ADC中断       

采用中断方式读取ADC数据
signed long hcval=0;
        ADCON&=0xbf;//清标志位

        hcval=ADDH;
        hcval<<=8;
        hcval|=ADDM;
        hcval<<=4;
        hcval|=(ADDL&0x0f);
        if(hcval&0x80000)
        {
                hcval=0x100000-hcval;
                adcbuf[adcbuf_cout]=0-hcval;
                adcbuf_cout++;
        }
        else
        {
                adcbuf[adcbuf_cout]=hcval;
                adcbuf_cout++;
        }
        if(adcbuf_cout>=5)//联系采集5次数据
        {
                adcbuf_cout=0;
                adc_collect_over=1;
                ADCON&=0x7f;//关闭ADC
        }
        else
                ADCON|=0x80;

进入仿真器状态后,电机KEIL全速运行就会弹错,“在空闲模式”对话框,然后只能给单片机重新上电才能再次连接仿真器。

蛋疼,资料也差了,也根据165程序对比过,也没有发现啥问题啊,但只要设置PGAM寄存器就不行,那我大神帮指点下,怎么回事啊

使用特权

评论回复
luchen66|  楼主 | 2022-10-26 14:20 | 显示全部楼层
这个芯片没人用吗?还是大家没有遇到过

使用特权

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

本版积分规则