查看原理图

  通过查看CT117E_M4参考手册可以发现,R37和R38分别对应芯片引脚PB15和PB12。
在这里插入图片描述

STM32cubemx进行创建工程

  这里使用的工程依旧是沿袭上篇文章,这里我们将PB15设为ADC2的15通道、PB12设置为ADC1的11通道。这里可以看到不像前几篇设置LED和按键一样直接变为绿色,而是变为了黄色。这就需要我们在右边ADC进行勾选。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
分别在ADC2的15通道和ADC1的11通道选择Single-ended即可。

代码编写

float r38,r37;

void ADC_GetValue(void)
{
  HAL_ADC_Start(&hadc1) ;
  r38 = HAL_ADC_GetValue(&hadc1) /4096.0f *3.3f ;

  HAL_ADC_Start(&hadc2) ;
  r37 = HAL_ADC_GetValue(&hadc2) /4096.0f *3.3f ;
}

首先是HAL_ADC_Start()函数,里面填对应想要打开的ADC,HAL_ADC_GetValue(),顾名思义是获取对应的信息。随后对对应的信息进行数据处理即可,随后我们将值显示在LCD上。

void LCD_Show()
{
	u8 LCD_buf[20] ;
	sprintf((char*)LCD_buf ,"   r37:%2.2f",r37) ;
    LCD_DisplayStringLine (Line0 ,LCD_buf ) ;
  
	sprintf((char*)LCD_buf ,"   r38:%2.2f",r38) ;
    LCD_DisplayStringLine (Line2 ,LCD_buf ) ;
}

这里在上面添加

#include "stdio.h"

不然会出现警告
在这里插入图片描述
不过也不影响最终的编译,但是为了严谨还是最好加上。之后给板子供电,转动R37和R38旋钮即可观察到变化。
在这里插入图片描述

文章中工程贴在下面链接,有需要自取,如有问题可在评论区留言。
链接:https://pan.baidu.com/s/1RKJpCzrYc1Hdrf6VMEmFTA?pwd=1111
提取码:1111

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐