gpt4 book ai didi

c - 如何从 ADC (PIC16F877A) 获取 int 值?

转载 作者:行者123 更新时间:2023-11-30 14:38:13 25 4
gpt4 key购买 nike

我已经制作了有关寄存器的配置文件:

void ADC_Init()
{
ADCON1bits.ADCS2 = 0;
ADCON0bits.ADCS1 = 1;
ADCON0bits.ADCS0 = 0;
//selection of a channel
ADCON0bits.CHS0=0;
ADCON0bits.CHS1=0;
ADCON0bits.CHS2=0;
//result format selection
ADCON1bits.ADFM=0; //right justify
//port configuration
ADCON1bits.PCFG0=0;
ADCON1bits.PCFG1=0;
ADCON1bits.PCFG2=0;
ADCON1bits.PCFG3=0;
//set status sit
ADCON0bits.GO_DONE=1;
//switch on ADC
ADCON0bits.ADON=1;
}

现在如何从输入中获取 int 读数?

最佳答案

等待 ADC 准备就绪,然后读取结果。

while (ADCONbits.GO_DONE);     //wait until conversion is ready
result = (((uint16_t)(ADRESH) << 8)) | ADRESL;

但是你能做的最好的事情就是编写一个函数,例如int_16_t readADC(int16_t channel) 您可以:
- 选择 channel
- 启动ADC
- 等待准备就绪
- 然后返回结果。

关于c - 如何从 ADC (PIC16F877A) 获取 int 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56729193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com