关于武汉芯景科技有限公司的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_ */
相关推荐
北京耐用通信30 分钟前
耐达讯自动化CC-Link IE转EtherCAT网关:让工业自动化更简单
人工智能·科技·物联网·自动化·信息与通信
EmbeddedCore38 分钟前
硬核实战:基于 C 语言宏定义的物联网网关命令分发框架设计
单片机·嵌入式
北京耐用通信40 分钟前
架桥记:耐达讯自动化CC-Link IE转EtherCAT的工业协议融合实战
人工智能·科技·物联网·网络协议·自动化
听你说321 小时前
三张牌照落地临港 库萨科技具身环卫机器人开启示范运营测试
科技·机器人
星幻元宇VR1 小时前
VR摩托车|沉浸式交通安全教育的新方向
科技·学习·安全·vr·虚拟现实
星幻元宇VR2 小时前
VR环保学习机|开启沉浸式环保教育新时代
大数据·人工智能·科技·安全·vr·虚拟现实
EmbeddedCore2 小时前
轻量级消息防重模块全解析:从原理到高性能优化
linux·运维·服务器·嵌入式硬件
芯巧电子3 小时前
11.如何在Allegro X中设置差分对 I 芯巧Allegro X PCB设计小诀窍系列
科技·cadence·软件·allegro
啃玉米的艺术家3 小时前
中断 ------ 中断方式
嵌入式硬件
悠哉悠哉愿意3 小时前
【物联网学习笔记】ADC
笔记·单片机·嵌入式硬件·物联网·学习