Nucleo开发手记(3)——ADC+UART
今天进步了,不再只是例程了,开始改例程了。。。看标题该猜出来,准备把前两个例程拼起来:
把ADC结果从串口输出。
以第一个的Nucleo_read_analog_value 为基础,改:
先复制,改重新命名(名称加个 _UART,以区别):
程序,最后改为这样的:
编译,运行结果(A0位置参照第一贴):
3个结果分别是A0接的:
- 1.09V的旧电池
- GND
- 3.3V
BIN文件先留下(F072,F302各一个):
【释解ADC的一些疑惑】
第1贴的2楼有ADC语句的相关信息,楼主也为这些疑惑后好一阵,在这里再重温一下:
原文:
float read ()
Read the input voltage, represented as a float in the range .
unsigned short read_u16 ()
Read the input voltage, represented as an unsigned short in the range .
看来:
read () 结果是浮点数,范围是:0.0~1.0
read_u16 ()结果是二进制16位整数,范围:0x0~ 0xFFFF
用了mbed平台,还是照人家的规矩。
沙发不留~~~~ 好像对mbed感兴趣的童鞋已经不多了,只好自己感慨一番:
Nucleo板的AD虽然是12位,一般认为ADC结果是:0~0xFFF;
可在mbed里,用read_u16 ()读到的ADC结果是:0~0xFFF,相当于16位的!就是这么任性,只能照着来。
read_u16 (),稍显奇葩。范围是:0~1.0 。这也好,参照VREF,便可知晓输入模拟量的值了。
页:
[1]