STM32G431 ADC 与 E2PROM 读写实验

目录

1.ADC介绍

配置cubemx 

 代码

2.IIC 通信

原理图

AT24C02

代码

 i2C.c

 主函数


1.ADC介绍

ADC 有多达 18 个转换通道,其中通道 0~通道 15 是外部通道,使用的 GPIO 引脚如表  所示。


ADC引脚 GPIO引脚 GPIO配置 ADC引脚 GPIO引脚 GPIO配置
IN0 PA0 模拟输入 IN8  PB0 模拟输入
IN1 PA1 模拟输入 IN9  PB1 模拟输入
IN2 PA2 模拟输入 IN10  PC0 模拟输入
IN3 PA3 模拟输入 IN11  PC1 模拟输入
IN4 PA4 模拟输入 IN12  PC2 模拟输入
IN5 PA5 模拟输入 IN13  PC3 模拟输入
IN6 PA6 模拟输入 IN14  PC4 模拟输入
IN7 PA7 模拟输入 IN15  PC5 模拟输入

转换通道分为规则通道和注入通道两组。

规则通道由最多 16 个通道组成,按顺序转换

注入通道由最多 4 个通道组成,可插入转换

 ADC 通道配置的一个主要参数是采样时间,采样时间通过采样周期数进行配置,

两者的关系是: ·142· 采样时间= (采样周期数 + 12.5) / fADCCLK

采样周期数的取值有:1.5、7.5、13.5、28.5、41.5、55.5、71.5 和 239.5 等。

当 fADCCLK取最大值 14MHz 时,内部温度传感器的采样周期数是:

采样周期数 = 17.1us ×14MHz − 12.5 = 226.9

配置cubemx 


按以上配置好,完成。打开工程

 代码

double getADC(ADC_HandleTypeDef *pin)
{
	uint16_t adc=0;
	HAL_ADC_Start(pin);
	adc=HAL_ADC_GetValue(pin);
	return adc*3.3/4096;
}

2.IIC 通信


原理图

查看产品手册原理图,i2c连接的是PB6与PB7引脚。

 

 


AT24C02

是 2kbit 串行 EEPROM,内部组织为 256×8bit,支持 16Byte 页写,写周期内部定时 (小于 5ms),2 线串行接口,可实现 8 个器件共用 1 个接口,工作电压为 2.7~5.5V。

 

 AT24C02的设备地址是第一行

1010 A2 A1 A0

A2 A1 A0的值不确定,以此来控制不同的地址

R 1 读

W 0 写

AT24C02 的读写操作可在竞赛资源包中“i2c.h”和“i2c.c”的基础上修改实现

代码

 

 i2C.c

 

 主函数

 

物联沃分享整理
物联沃-IOTWORD物联网 » STM32G431 ADC 与 E2PROM 读写实验

发表评论