作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经制作了有关寄存器的配置文件:
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/
我是一名优秀的程序员,十分优秀!