STM32G431—ADC+E2PROM读写实验

目录

1.ADC介绍

配置cubemx 

 代码

2.IIC 通信

原理图

AT24C02

代码

 i2C.c

 主函数


1.ADC介绍

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


ADC引脚GPIO引脚GPIO配置ADC引脚GPIO引脚GPIO配置
IN0PA0模拟输入IN8 PB0模拟输入
IN1PA1模拟输入IN9 PB1模拟输入
IN2PA2模拟输入IN10 PC0模拟输入
IN3PA3模拟输入IN11 PC1模拟输入
IN4PA4模拟输入IN12 PC2模拟输入
IN5PA5模拟输入IN13 PC3模拟输入
IN6PA6模拟输入IN14 PC4模拟输入
IN7PA7模拟输入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

 

 主函数

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值