stm32的ADC功能。读取的是模拟量么?转化为数字量输出?
比如读取电压3.3V,那么所谓读取的模拟量就是3.3V吧?输出数字量是什么意思呢?数字量是指1和0两个值么??...
比如读取电压3.3V,那么所谓读取的模拟量就是3.3V吧?输出数字量是什么意思呢?数字量是指1和0两个值么??
展开
2个回答
展开全部
是的,ADC器件的功能就是讲读取的模拟量转换成数字量,这个数字量是与模拟量对应的,否则转换的数字量就失去了意义。。他们之间的关系是:
ADC数字量 = (ADC输入电压范围)/ADC的位置 * 输入的模拟电压值
举一个例子吧:
ADC器件输入电压为0~5V,位数为10bit,那么数字量1024就表示5V。
ADC数字量 = (ADC输入电压范围)/ADC的位置 * 输入的模拟电压值
举一个例子吧:
ADC器件输入电压为0~5V,位数为10bit,那么数字量1024就表示5V。
追问
那么如果我想在读取模拟量之后定义这个模拟量5V是高电平,请问也需要用ADC功能么?比如定义5V对应标志位flag=1;那么应该用什么语句呢?
谢谢!
追答
如果你定义外接输入的模拟电压5V是高电平,就需要通过ADC来实现了,因为你需要通过ADC读取这个电压,然后再程序里面做操作。。
比如输入范围0~5V,12bit的ADC器件,读取到单片机里面,程序基本写法是:
int ADCvalue; //ADCvaule定位为ADC转换结果
int flag;
.....
.....
if(abs(ADCvalue - 5) <= 0.001)
{
flag =1
}
else
{
flag =0;
}
....
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询