打印
[PIC®/AVR®/dsPIC®产品]

AN3电压一直是0.42,是什么原因

[复制链接]
1835|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

实际万用表量这个RA4/AN3口电压一直是0.42V,请问是哪里设置不对么?




word ADC_Get(byte channel) //run time :307us/830cycles
{
   byte i = 0;
   word  adc_val,TempVal = 0;

   if( channel < GetMaxNum )
   {
       GO_DONE = 0;
       ADCON1 = 0X50;   //set clock,Fosc/16;

       if( channel < 4 )
       {
      

985955e027c84c6854.png (305.88 KB )

985955e027c84c6854.png

使用特权

评论回复
沙发
fengyu2513|  楼主 | 2019-12-25 11:01 | 只看该作者
没人回复么

使用特权

评论回复
板凳
lcczg| | 2019-12-25 11:15 | 只看该作者
断开RA4/AN3是否正常。该管脚是否置为模拟输入了?

使用特权

评论回复
地板
598330983| | 2019-12-25 11:37 | 只看该作者
你想配置成什么功能?

使用特权

评论回复
5
598330983| | 2019-12-25 11:38 | 只看该作者

看图是0.33倍的那个电池。

使用特权

评论回复
6
598330983| | 2019-12-25 11:39 | 只看该作者
你电池是多大的电压?测了没,你接这的目的是什么?如果是ADC的话, 那要配置对,先设置为输入模式,然后配置成ADC

使用特权

评论回复
7
fengyu2513|  楼主 | 2019-12-25 13:36 | 只看该作者
598330983 发表于 2019-12-25 11:39
你电池是多大的电压?测了没,你接这的目的是什么?如果是ADC的话, 那要配置对,先设置为输入模式,然后配 ...

就是一个检测电池电压,
配置为模拟输入了,

TRISAbits.TRISA4=1;
PORTAbits.RA4=1;  
ANSELbits.ANS3=1;
ADCON0=0x8D;
ADCON1 = 0X50;



电池电压量了是3.95,但是这个位置量了都是0.42

使用特权

评论回复
8
fengyu2513|  楼主 | 2019-12-25 13:37 | 只看该作者
598330983 发表于 2019-12-25 11:37
你想配置成什么功能?

配置成ADC输入,检测这个这个电压


就是一个检测电池电压,
配置为模拟输入了,

TRISAbits.TRISA4=1;
PORTAbits.RA4=1;  
ANSELbits.ANS3=1;
ADCON0=0x8D;
ADCON1 = 0X50;

使用特权

评论回复
9
1399866558| | 2019-12-25 22:08 | 只看该作者

使用特权

评论回复
10
asdsfgwsafd| | 2019-12-26 09:01 | 只看该作者
AD都是MCC配的了。
不行你把引脚抬起来看看

使用特权

评论回复
11
fengyu2513|  楼主 | 2019-12-26 10:02 | 只看该作者
asdsfgwsafd 发表于 2019-12-26 09:01
AD都是MCC配的了。
不行你把引脚抬起来看看

换到7脚就可以,an3就不行,an3是不是有什么参数配置?

使用特权

评论回复
12
fengyu2513|  楼主 | 2019-12-26 10:04 | 只看该作者
lcczg 发表于 2019-12-25 11:15
断开RA4/AN3是否正常。该管脚是否置为模拟输入了?

换到AN7就可以,现在想知道AN3有什么特殊的配置么 ?

使用特权

评论回复
13
lcczg| | 2019-12-26 10:31 | 只看该作者
fengyu2513 发表于 2019-12-26 10:04
换到AN7就可以,现在想知道AN3有什么特殊的配置么 ?

提供下你的配置字?是不是配置成CLKOUT了?看下数据手册这个章节“12.1Configuration Bits”

使用特权

评论回复
14
fengyu2513|  楼主 | 2019-12-26 13:27 | 只看该作者
lcczg 发表于 2019-12-26 10:31
提供下你的配置字?是不是配置成CLKOUT了?看下数据手册这个章节“12.1Configuration Bits” ...

// CONFIG
#pragma config FOSC = INTOSCCLK // Oscillator Selection bits (INTOSC oscillator: CLKOUT function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = OFF      // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to VDD)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config IOSCFS = 8MHZ    // Internal Oscillator Frequency Select bit (8 MHz)
#pragma config BOREN = ON       // Brown-out Reset Selection bits (BOR enabled)





TRISAbits.TRISA4=1;
PORTAbits.RA4=1;  
ANSELbits.ANS3=1;
ADCON0=0x8D;
ADCON1 = 0X50;

使用特权

评论回复
15
lcczg| | 2019-12-26 14:04 | 只看该作者
本帖最后由 lcczg 于 2019-12-26 14:11 编辑
fengyu2513 发表于 2019-12-26 13:27
// CONFIG
#pragma config FOSC = INTOSCCLK // Oscillator Selection bits (INTOSC oscillator: CLKOUT  ...

#pragma config FOSC = INTOSCCLK // Oscillator Selection bits (INTOSC oscillator: CLKOUT function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN) 这里RA4/AN3口是CLKOUT了。
你将它置为INTOSCIO就好了 INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function onRA5/OSC1/CLKIN
另外示波器看到话应该可以看到中心电平0.42V的时钟

使用特权

评论回复
16
598330983| | 2019-12-28 20:29 | 只看该作者
对,断开那个引脚,然后看看示波器。

使用特权

评论回复
17
whtwhtw| | 2019-12-31 15:44 | 只看该作者
R11和R12电阻太大,导致该电路输出阻抗很大,容易受单片机管脚和万用表内阻影响,导致测量不准!最好的办法是减小这2个电阻阻值,或者加一级跟随器。

使用特权

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

本版积分规则

7

主题

38

帖子

0

粉丝