sacq12 发表于 2015-1-11 11:27:01

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平台,还是照人家的规矩。














sacq12 发表于 2015-1-11 11:27:38

沙发不留~~~~

sacq12 发表于 2015-1-12 18:06:35

好像对mbed感兴趣的童鞋已经不多了,只好自己感慨一番:
Nucleo板的AD虽然是12位,一般认为ADC结果是:0~0xFFF;
可在mbed里,用read_u16 ()读到的ADC结果是:0~0xFFF,相当于16位的!就是这么任性,只能照着来。
read_u16 (),稍显奇葩。范围是:0~1.0 。这也好,参照VREF,便可知晓输入模拟量的值了。

党国特派员 发表于 2015-1-13 09:31:21

页: [1]
查看完整版本: Nucleo开发手记(3)——ADC+UART