关于武汉芯景科技有限公司的A/D转换芯片XJ3021开发指南(兼容MCP3021)

一、芯片引脚介绍

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_ */
相关推荐
Jerry丶Li28 分钟前
二十九、STM32的USART (串口发送)
stm32·单片机·嵌入式硬件
MicroTech20251 小时前
微算法科技(NASDAQ MLGO)结合权威证明(PoA)机制与权益证明(PoS)/工作量证明(PoW),平衡效率与去中心化
科技·去中心化·区块链
d111111111d1 小时前
STM32外设学习-串口数据包笔记-(数据包的了解)
笔记·stm32·单片机·嵌入式硬件·学习
EVERSPIN2 小时前
MCU单片机,常用32位单片机,低功耗单片机MM32L系列
单片机·mcu单片机·32位单片机·低功耗单片机·mm32l系列
idcardwang3 小时前
esp32-s3-supermini使用arduio IDE进行mpu6050的数据读取
ide·单片机
纳祥科技7 小时前
方案分享:一款基于低功耗单片机的腰腹甩脂机方案
单片机·嵌入式硬件
点灯小铭10 小时前
基于单片机的电子琴设计与乐曲存储播放实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
hemama_11 小时前
STM32F103VET6开发板例程(一)-LED
stm32·单片机·嵌入式硬件
夜月yeyue11 小时前
Linux 内核驱动加载机制
linux·服务器·stm32·嵌入式硬件
奋斗的牛马11 小时前
FPGA--zynq学习 PS与PL交互(二) HP接口
单片机·嵌入式硬件·学习·fpga开发·信息与通信