首页 > 其他分享 >学习记录:STM32G431CBU6的多通道ADC采样串口打印(HAL库)

学习记录:STM32G431CBU6的多通道ADC采样串口打印(HAL库)

时间:2024-11-04 09:45:31浏览次数:5  
标签:HAL PIN 多通道 Init ADC 串口 GPIO hadc1

一 配置

 

 二 代码

uint16_t Get_adc()
{
    //启动ADC1
  HAL_ADC_Start(&hadc1);
    //等待ADC转换完成,超时为100ms
    HAL_ADC_PollForConversion(&hadc1,100);
    //判断ADC是否转换成功
    if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1),HAL_ADC_STATE_REG_EOC)){
         //读取
       return HAL_ADC_GetValue(&hadc1);
    }
    return 0;
}
int main(void)
{
 MX_GPIO_Init();
 MX_ADC1_Init();
 MX_USART1_UART_Init();
  /* USER CODE BEGIN 2 */
 uint16_t ADC_Value[]={0};
 while (1)
  {
      HAL_GPIO_WritePin(GPIOC, GPIO_PIN_15, GPIO_PIN_RESET);//GPIO_PIN_SET
	  Delay_ms(100);
	  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_15, GPIO_PIN_SET);//GPIO_PIN_RESET
	  Delay_ms(100);

	 for(uint8_t i=0;i<4;i++)
	  		{
	  		ADC_Value[i]=Get_adc();//分别存放通道1 2 3的ADC
	  		float voltage = ADC_Value[i] * 3.3 / 4096 ;
	  		char buffer[50];
	  		sprintf(buffer, "channel%d: %d, volt: %.2f V\r\n", i, ADC_Value[i],voltage);
	  		HAL_UART_Transmit(&huart1, (uint8_t *)buffer, strlen(buffer), HAL_MAX_DELAY);
	        Delay_ms(100);
	  		}


  }
  /* USER CODE END 3 */
}

标签:HAL,PIN,多通道,Init,ADC,串口,GPIO,hadc1
From: https://blog.csdn.net/weixin_52233445/article/details/143476131

相关文章

  • STM32 第20章 USART--串口通信3
    时间:2024.10.30参考资料:《零死角玩转STM32》“USART--串口通信”章节 一、学习内容1、串口2345代码移植实现控制串口2-->将串口1的宏修改成串口2的即可1.1串口的宏串口1://为了方便移植,定义的宏//串口1-USART#defineDEBUG_USARTxUSART1#d......
  • STM32 第20章 USART--串口通信2
    时间:2024.10.29参考资料:《零死角玩转STM32》“USART--串口通信”章节编程是从GPIO输出-使用固件库点亮LED灯的基础上开始一、学习内容1、STM32串口初始化结构体和固件库1.1USART初始化结构体 /***@briefUSARTInitStructuredefinition*/typedef......
  • Halcon区域分割之分水岭分割法
        现实中我们见到过有山有湖的景象,那么一定是水绕山、山围水的情形。当然可在需要的时候人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山与水的界线以及湖与湖之间的间隔,就是分水岭。    分水岭分割法是一种基于拓扑理论的数学形态学的分割方法,其基本思......
  • 通过串口与ModBus硬件设备通信
    探头与变送器前面的文章已经实现了ModBus客户端与服务端和他们之间的通信。但只是软件不够,毕竟传感器是硬件。经过我的了解,一个完整的实现了Modbus协议的,并且通过RS485电缆与电脑交换ModBusRTU报文的Modbus设备,一般由两个部分组成。探头探头就是将物理量转化为电信号的东西......
  • [Joe3] 利用Halo后台注入功能定制Joe3主题页脚内容
    1.前言如果你正使用Halo博客系统并选择了Joe3主题,你会发现其主题页脚设计非常丰富,也非常美观,可能也是我们选择Joe3的原因吧。但是每个人实际的需求是不同的,默认模板肯定不能都满足,你肯定也希望在页脚部分能有更多的自定义内容。相较于传统方法——直接在模板文件中修改这些信......
  • Halcon 一维卡尺测量找点之模糊集测量法
        模糊测量是对标准测量的一种扩展,并不意味着测量是“模糊的”,而是用模糊隶属函数来控制边缘的选择。所谓的模糊隶属函数,就是将边缘的特征值转换为隶属度值,基于这些隶属值做出是否选择边缘的决定,即当隶属值大于你设定模糊阈值时,边缘就会被选中,反之则反。这种方法的优......
  • 基于51单片机温湿度采集数码管手机app显示+源代码程序+proteus仿真+dht11温湿度传感器
    一、设计简介本项目是简单的物联网(IoT)应用,使用51单片机STC89C52与温湿度传感器DHT11相结合,测量温湿度数据显示在八位数码管,同时通过WiFi模块ESP8266(ESP-01S)将测得的温湿度数据发送到手机APP上,而手机APP则使用AppInventor进行开发。二、功能设计1、数码管实时显示当前温湿度......
  • 树莓派开发相关知识六 -串口通讯
    1、uart串口通信uart串口通信协议,使用txd,rxd双引脚实行异步数据传输,其中txd为传输口,rxd为接收口。其协议如上图,由起始位+有效数据位+奇偶校验位(*可选),停止位(*宽度可调),空闲位组成,即根据uart协议,当我们需要发送如01010101这8位有效数据时,我们应该让txd引脚成010101010(LSB......
  • 嵌入式Linux驱动开发环境搭建-CH340 串口驱动安装
    CH340串口驱动安装驱动安装安装之前一定要连接板子检查驱动是否安上驱动安装我们一般在Windwos下通过串口来调试程序,或者使用串口作为终端,STM32MP157开发板使用CH340这个芯片实现了USB转串口功能。CH340是一款常用的USB转串口转换芯片,通常用于将USB接口连......
  • halo配置踩坑过程小记
    写在最前:​ 终于搞定了最后的一步域名解析配置,其实动态博客的折腾程度也不低于当时的hexo吧,也可能当时的痛苦过程已经忘了。。整理一下思路,记录一下配置过程走过的坑。​ 我是从hexo用了半年想折腾点新玩意儿的,其实hexo配置自动化部署之后也挺方便的,反正都是本地编辑写作,后台啥......