厦门手机网站建设方案网站自助平台
2026/4/16 22:14:47 网站建设 项目流程
厦门手机网站建设方案,网站自助平台,小程序开发费用计入什么科目,免费网页代码大全先看这个芯片的原理图#xff0c;其实很简单#xff0c;一个i2c通信#xff0c;一个RDY就绪线#xff0c;需要注意的是ADDR引脚可以用来配置i2c从机地址 机地址是七位的#xff0c;实际使用的时候需要注意左移1位#xff0c;最后补一个读写位。 接下来我们看一下寄存器 …先看这个芯片的原理图其实很简单一个i2c通信一个RDY就绪线需要注意的是ADDR引脚可以用来配置i2c从机地址机地址是七位的实际使用的时候需要注意左移1位最后补一个读写位。接下来我们看一下寄存器转换寄存器便宜地址0x0000,16位用于存储转换后的电压值配置寄存器这个是关键OS状态位不用管MUX这个是重点实际转换的值是AINp - AINn的数值因此我们设置的时候一般是设置100 - 111之间PGA,基准电压转换是用于比较的基准电压MODE单词转换模式或者连续转换模式DR采样速率速率越高误差越大上面四个都是默认配置不做介绍知道了寄存器流程就很简单了基本流程就是1.将要转换的通道写入寄存器2.等待转换3.读取转换寄存器代码如下结尾我会提供源码void ADS1115_config(soft_i2c_driver *soft_i2c_driver, uint8_t channel) { soft_i2c_WriteReg(soft_i2c_driver, ADS1115_REG_Config, ADS1115_Config_MSB | (channel 4), ADS1115_Config_LSB); } uint16_t ADS1115_ReadADC(soft_i2c_driver *soft_i2c_driver) { return soft_i2c_ReadReg(soft_i2c_driver,ADS1115_REG_Conversion); } void ADS1115_ReadAllChannel(soft_i2c_driver *soft_i2c_driver, uint16_t data[]) { for(uint8_t i0; i4; i) { ADS1115_config(soft_i2c_driver,i); HAL_Delay(10); data[i] ADS1115_ReadADC(soft_i2c_driver); } } void ADS1115_VolConversion(float *vol_value,int16_t data[4],float base_vol) { for(int i0; i4; i) { vol_value[i] 1.0 * data[i] / 32768 * base_vol; } }在以上代码中我使用的是模拟i2c,读者也可以自己换成其他读写i2c的函数ADS1115_config 配置要读写的通道并且开始转换ADS1115_ReadADC 读取转换寄存器的值ADS1115_ReadAllChannel 读取四个通道的值并且放到数组中ads1115_volconversion 电压转换将读取的数值转换成真是的电压代码下载https://download.csdn.net/download/qq_40170041/92470489?spm1001.2014.3001.5503

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询