一、芯片引脚介绍
1.芯片引脚

2.引脚描述

二、系统结构图

三、时序(IIC通信)

四、程序代码
XJ3021.C
/*
* XJ3021.c
*
* Created on: 2024年8月23日
* Author: Administrator
*/
#include "softiic.h"
#include "XJ3021.h"
#include "usart.h"
#include <stdio.h>
#include "tim.h"
//XJ3021的IIC读
uint16_t XJ3021ReadOneByte(void)
{
uint8_t buffer0;
uint8_t buffer1;
uint16_t adc_value;
bsp_analog_i2c_start();
bsp_analog_i2c_send_byte(0X9B);
bsp_analog_i2c_wait_ack();
buffer0= bsp_analog_i2c_read_byte();
bsp_analog_i2c_ack();
buffer1= bsp_analog_i2c_read_byte();
bsp_analog_i2c_nack();
bsp_analog_i2c_stop();
adc_value = ((buffer0 & 0x0F) << 8) | (buffer1 & 0xFC);
adc_value = adc_value>>2;
return adc_value;
}
//打印相互3021的电压
float Voltage=0;
void printf_XJ3021Voltage(void)
{
Voltage=XJ3021ReadOneByte();
Voltage = Voltage*(float)3/1024;
printf("Voltage %f\r\n", Voltage);
}
XJ3021.H
/*
* XJ3021.h
*
* Created on: 2024年8月23日
* Author: Administrator
*/
#ifndef INC_XJ3021_H_
#define INC_XJ3021_H_
uint16_t XJ3021ReadOneByte(void);
void printf_XJ3021Voltage(void);
#endif /* INC_XJ3021_H_ */