概述本章通过使用模数转换器(adc),通过轮询方式采集多个adc通道电压。
之前已经做过dma方式采样,详情请查看:
https://blog.csdn.net/qq_24312945/article/details/106557538
硬件准备首先需要准备一个开发板,这里我准备的是nucleo-f030r8的开发板:
选择芯片型号使用stm32cubemx选择芯片stm32f030r8,如下所示:
配置时钟源hse与lse分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择disable选项,如下所示:
配置时钟树stm32f0的最高主频到48m,所以配置48即可:
串口配置本次实验使用的串口1进行串口通信,波特率配置为115200。
adc配置stm32f030中,有一个adc(模拟/数字转换器),每个 adc 有 12 位、 10 位、 8 位和 6 位可选,每个adc有16个外部通道、2个内部通道和一个vbat 通道的信号。
本文将开adc的in0、in1、in15一共三个通道,来分别读取adc,由于串口2和in2,in3复用,故不使用in2、in3。配置如下:
生成工程设置注意在生产工程设置中不能出现中文,不然会报错。
生成代码
配置keil
代码在main.c中,添加头文件,若不添加会出现 identifier file is undefined报错。
/* user code begin includes */#include stdio.h/* user code end includes */函数声明和串口重定向:
/* user code begin ptd */#ifdef __gnuc__#define putchar_prototype int __io_putchar(int ch)#else#define putchar_prototype int fputc(int ch, file *f)#endif /* __gnuc__ */putchar_prototype{ hal_uart_transmit(&huart1 , (uint8_t *)&ch, 1, 0xffff); return ch;}/* user code end ptd */变量定义:
/* user code begin 0 */uint8_t i;uint16_t adcbuf[3];//存放adc/* user code end 0 */主循环:
/* user code begin while */ while (1) { /* user code end while */ /* user code begin 3 */ i=0; while(i<3) { hal_adc_start(&hadc);//启动adc hal_adc_pollforconversion(&hadc,0xffff);//表示等待转换完成,第二个参数表示超时时间,单位ms. //hal_adc_getstate(&hadc1)为换取adc状态,hal_adc_state_reg_eoc表示转换完成标志位,转换数据可用。 if(hal_is_bit_set(hal_adc_getstate(&hadc),hal_adc_state_reg_eoc))//就是判断转换完成标志位是否设置,hal_adc_state_reg_eoc表示转换完成标志位,转换数据可用 { //读取adc转换数据,数据为12位。查看数据手册可知,寄存器为16位存储转换数据,数据右对齐,则转换的数据范围为0~2^12-1,即0~4095. adcbuf[i]=hal_adc_getvalue(&hadc); printf(adc%d=%4.0d,电压=%1.4f,i,adcbuf[i],adcbuf[i]*3.3f/4096); i++; } } hal_adc_stop(&hadc); hal_delay(500); } /* user code end 3 */演示效果设定adc0口接3.3v,adc1口接gnd,adc15口接1.5v,输出如下。
低功耗 Lora模块中收发模块对电流有什么不同差异
电子元件放静电措施
RFID与条形码的区别是什么
基于51单片机的自行车测速系统
新的数字表示方法将减轻AI数学计算负担
STM32CUBEMX(9)--ADC通过轮询方式读取,USART打印
华为已承建全球半数以上的商用5G网络
30岁的台积电工程师引起网友共鸣
5G时代高通还可能继续维持专利授权模式 高通赢得FTC反垄断诉讼
智能家居市场的增长规律是怎么样的应该如何选择
大功率开关—晶体管的重要任务电路图
Atom处理器正在被英特尔抛弃:造成网络完全瘫痪
NFC 控制器工作频率在 多少MHz?
因俄军苏-33战机出事 俄军航空母舰拦阻器内部构造被曝光
优点科技Convoy·卫 wifi智能指纹锁简介
CMOS模拟IC的特点说明
传被中国企业并购,这家曾经的全球指纹芯片霸主,快要挺不住了
混合励磁电机的调速特性
2018年人工智能行业告别喧闹 投融资市场渐趋冷静
鼓励在京过年:每个在网手机号可免费领20G流量