注册 登录
查看: 421|回复: 5

山外库中的一个BUG,具体是不是bug山外哥来确认一下

[复制链接]
发表于 2015-1-16 21:05:28 | 显示全部楼层 |阅读模式
  1. uint16 adc_once(ADCn_Ch_e adcn_ch, ADC_nbit bit) //采集某路模拟量的AD值
  2. {
  3.     ADCn_e adcn = (ADCn_e)(adcn_ch >> 5) ;

  4.     uint16 result = 0;

  5.     adc_start(adcn_ch, bit);      //启动ADC转换

  6.     while (( ADC_SC1_REG(ADCN[adcn], 0 ) & ADC_SC1_COCO_MASK ) != ADC_SC1_COCO_MASK);   //只支持 A通道
  7.     result = ADC_R_REG(ADCN[adcn], 0);
  8.     ADC_SC1_REG(ADCN[adcn], 0) &= ~ADC_SC1_COCO_MASK;
  9.     return result;
  10. }
这个ADC一次采集函数里采集完成后清除了采集完成标志位ADC_SC1_COCO_MASK                             即(ADC_SC1_REG(ADCN[adcn], 0) &= ~ADC_SC1_COCO_MASK;)但是当选择软件触发时,写SC1A就会启动ADC转换,所以每次采集完成后,都会进行一次无意义的ADC启动转换


山外哥,你看我说的对吗?
回复

使用道具 举报

发表于 2015-1-16 21:22:24 | 显示全部楼层
试试注释那句话,看看能不能采集
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-16 21:39:20 | 显示全部楼层
hqrlspgdba 发表于 2015-1-16 21:22
试试注释那句话,看看能不能采集

多谢!我试了一下,发现能采集!估计这儿就是山外库的BUG吧
回复 支持 反对

使用道具 举报

发表于 2015-1-16 21:49:01 | 显示全部楼层
嗯,这个是无效代码,注释掉它
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-16 22:06:42 | 显示全部楼层
山外メ雲ジ 发表于 2015-1-16 21:49
嗯,这个是无效代码,注释掉它

多谢!下次更新山外库的时候记得改一下
回复 支持 反对

使用道具 举报

发表于 2015-1-16 22:07:50 | 显示全部楼层
bieshuono 发表于 1421417202
多谢!下次更新山外库的时候记得改一下
好的
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回列表 返回顶部