查看ADC的源代码
←
ADC
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== MCU ADC == === Atmega328 === 8-channel 10-bit ADC in TQFP and QFN/MLF package ==== 检测电池电压 ==== 用内部 1.1V 基准电压源: <source lang=cpp> analogReference(INTERNAL);use internal 1.1V as Avref //analogReference(DEFAULT); use AVcc as AVref </source> VBAT 接 0.1% 300K - 100K - GND,ADC 脚接两个电阻之间,测量 100K 电阻两端电压。。。 或者选择内部 1.1V 作为 Vref,AREF 脚作为 Vin,反推 Vin: ADC = Vin/Vref * 2^n, n = 10 in 328p <source lang=cpp> #include "Arduino.h" #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) #define ADMUX_VCCWRT1V1 (_BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1)) #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) #define ADMUX_VCCWRT1V1 (_BV(MUX5) | _BV(MUX0)) #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) #define ADMUX_VCCWRT1V1 (_BV(MUX3) | _BV(MUX2)) #else #define ADMUX_VCCWRT1V1 (_BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1)) #endif float Read_Volts(void) { // Read 1.1V reference against AVcc // set the reference to Vcc and the measurement to the internal 1.1V reference if (ADMUX != ADMUX_VCCWRT1V1) { ADMUX = ADMUX_VCCWRT1V1; // Bandgap reference start-up time: max 70us // Wait for Vref to settle. delayMicroseconds(350); } // Start conversion and wait for it to finish. ADCSRA |= _BV(ADSC); while (bit_is_set(ADCSRA,ADSC)) {}; // Result is now stored in ADC. // Calculate Vcc (in V) float vcc = 1.1*1024.0 / ADC; return vcc; } </source> [[文件:328p-admux.png]] [[文件:328p-admux2.png]] 其中REFS1和REFS0用于设置Vref,这里应该配置为01对应Vcc口 [[文件:328p-admux3.png]] MUX3…0用于选择ADC的输入Vin,这里应配置为内部1.1v对应的1110 <br><br> === NXP LPC4370 === * 80 Msps, 12-bit ADC * Cortex M4 @ 204 MHz * Cortex M0 x2 * 480 Mbps USB (PHY), 100 Mbps Ethernet (MAC) * BGA === TI === TMS320F2823x, TMS320F2833x * 12.5 Msps, 12-bit ADC * CPU 100 MHz, 150 MHz * BGA, QFP MSP430FR603X, MSP430FR604X * 8 Msps, 12-bit ADC * MSP430 @ 16 MHz * QFP <br> === STM32H7 === * 5 Msps, 12-bit ADC x1 * 3.6 Msps, 16-bit ADC x2 * 7.2 Msps with 2x interleaving * Cortex M7 @ 280 MHz, 480 MHz, 550 MHz * 480 Mbps USB (ULPI), 100 Mbps Ethernet (MAC) * BGA, WLCSP, QFP === STM32F303 === * 5 Msps, 12-bit ADC x4 * 18 Msps with 4x interleaving * Cortex M4 @ 72 MHz * BGA, WLCSP, QFP === STM32F7 === * 2.4 Msps, 12-bit ADC x3 * 7.2 Msps with 3x interleaving * Cortex M7 @ 216 MHz * 480 Mbps USB (ULPI or PHY), 100 Mbps Ethernet (MAC) * BGA, WLCSP, QFP <br> === Microchip PIC32MK === * 3.75 Msps, 12-bit ADC up to 7x * 15 Msps with 4x interleaving * 20 Msps with 6x interleaving on PIC32MKxxMCxx * 25.45 Msps aggregated data rate for 7 ADCs * MIPS32 microAptiv @ 120 MHz * 12 Mbps USB * QFN, TQFP <br> PIC32MZ EF & PIC32MZ DA * 3.125 Msps, 12-bit x5 (+ 1 shared ADC) * 12.5 Msps with 4x interleaving * 18 Msps aggregated data rate for 6 ADCs, but likely impractical. * MIPS32 microAptiv @ 200 MHz * Interfaces: 480 Mbps USB (PHY), 100 Mbps Ethernet (MAC) * BGA, QFN, QFP ADC is defective on PIC32MZ EC, use PIC32MZ EF or DA instead! <br> === ADI ADSP-CM4xx === * 2.63 Msps, 16-bit ADC x2 * 5.26 Msps with 2x interleaving * 12 or 14 ENOB, depending on models * Cortex M4 @ 150 MHz, 240 MHz * 12 Mbps USB, 100 Mbps Ethernet * BGA, QFP <br>
返回到
ADC
。
个人工具
18.119.167.248
该IP地址的讨论
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面