搜索

[技术问答] 新唐MS51FB9AE用ADC功能一直停在while(ADCF == 0)

[复制链接]
167|9
 楼主 | 2020-10-19 11:47 | 显示全部楼层 |阅读模式
最近用新唐MS51FB9AE芯片ADC功能在Keil5仿真时,有时程序运行ADC程序采样正常OK,但有时很随机的会一直停在while(ADCF == 0)死循环跳不出来,一时找不出问题原因,请大家帮忙指点,下面是仿真ADC子程序
uint16 ReadAdcValue(void)
{
  uint16 AdcTemp;

  ADCCON1|=0X30;
  ADCCON2|=0X0E;
  AUXR1|=SET_BIT4;

  clr_ADCF;
  set_ADCS;
  while(ADCF == 0);
  AdcTemp = ADCRH;
  AdcTemp <<= 4;
  AdcTemp |= ( ADCRL & 0x0F);
  Disable_ADC;
  return AdcTemp;
}

void CheckBattAdc (void)
{  
  uint16 AdcTemp;

  Enable_ADC_AIN5;
  AdcTemp=ReadAdcValue();
  


}

使用特权

评论回复
| 2020-10-19 19:51 | 显示全部楼层
一般开启ADC后,加点延时会好些!  可以试下!

使用特权

评论回复
| 2020-10-19 20:46 | 显示全部楼层
delay一下看看

使用特权

评论回复
| 2020-10-19 22:58 | 显示全部楼层
参考官方的例子试试。

使用特权

评论回复
 楼主 | 2020-10-20 02:59 | 显示全部楼层
w321 发表于 2020-10-19 19:51
一般开启ADC后,加点延时会好些!  可以试下!

谢谢,开启ADC后加了20-1000US延时分别调试,问题还是一样存在,主要ADC采样时一直停在while(ADCF == 0)死循环问题是随机发生,开始运行正常,运行几分钟或十几分钟出现问题,这时查看ADCCON0、ADCCON1、ADCCON2的ADC控制寄存器都是0X00,也无法修改赋值

使用特权

评论回复
 楼主 | 2020-10-20 03:05 | 显示全部楼层
天灵灵地灵灵 发表于 2020-10-19 20:46
delay一下看看

谢谢,加delay试了,ADC随机死机问题还是一样

使用特权

评论回复
 楼主 | 2020-10-20 03:07 | 显示全部楼层
wahahaheihei 发表于 2020-10-19 22:58
参考官方的例子试试。

谢谢,ADC程序就是参考官方的例子

使用特权

评论回复
 楼主 | 2020-10-20 09:43 | 显示全部楼层
ADC程序参考官方的例子,开启ADC后也加了不同时间延时分别调试,还是同样问题,主要ADC采样时一直停在while(ADCF == 0)进入死循环是随机发生,开始运行正常,运行几分钟或十几分钟后出现ADC死机,这时查看ADCCON0、ADCCON1、ADCCON2几个ADC控制寄存器都是OX00,就是说程序给的值都没有写进去,加指令运行查看进入死机断点后给其赋值也不能修改,加break强行跳出后又能运行正常,看断点还会随机出现同样问题,换MS51FB9AE和N76E003仿真都有ADC采样突然死机问题,看样子应该不是个例,大家碰到这个问题是怎么解决的

使用特权

评论回复
| 2020-10-20 16:51 | 显示全部楼层
通过你描述的问题:  你的仿真 ( 电脑 与 单片机 通过专用的仿真器完成);
如果是电脑软件问题 要原厂帮忙,一般这个情况很少,不影响产品,有难解决;
仿真器问题 ,接口与电平转换问题比较多点,你自己试   单片机不同电压 配仿真器上接口的电平转换.
1.
首先 不用电脑与仿真器   试一下正不正常(排除电脑 专用仿真通信问题),可以插入LED闪烁程序查看;
2.
如果单片机程序问题, ADC转换有个采样速度问题,可以减速;
3.
还有是不是程序的多个中断问题影响,关闭部分中断测试 ADC。
4.
关于ADC控制寄存器 有些频繁操作加延时,模块功能开启 也需要延时等待模块稳定. 转换开启一般都会加点延时.
5.
硬件电源的稳定等问题.

使用特权

评论回复
| 2020-10-21 07:58 | 显示全部楼层
本帖最后由 jasontu 于 2020-10-21 08:10 编辑

可以试看看把最佳化设成0。更新NULINK 到最新版

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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