ad5665r STM32 GD32 IIC驱动设计

本文涉及文档工程代码,下载地址如下

ad5665rSTM32GD32IIC驱动设计,驱动程序在AD公司提供例程上修改得到,IO模拟的方式进行IIC通信资源-CSDN文库

 

硬件设计

MCU采用STM32或者GD32,GD32基本上和STM32一样,针对ad566r的IIC时序操作是完全相同的.

原理图设计如下

与MCU管脚连接如下表所示

MCU管脚

AD5665R

备注

PB7

SDA

PB6

SCL

驱动程序在AD公司提供例程上修改得到。

依据不同的管脚封装的进行地址选择,这里工程中实际使用是14管脚封装,根据iic的时序图,根据时序图确定,IIC地址字节为读写分别0x3F、0x3E

 

MCU采用GD32,GD32类似STM32,针对ad566r的时序操作是相同的,IO模拟的方式进行IIC通信

软件工程还移植了FreeRTOS,实现一个闪灯任务,并打开了串口0,用于printf打印输出.

设置电压范围

uint32_t ad5665r_a_value = 0;
uint32_t ad5665r_b_value = 0;
uint32_t ad5665r_c_value = 0;
uint32_t ad5665r_d_value = 0;

取值范围0~65535

根据选择DAC型号不一样,这里取值不一样,我这里是使用16bit 提示一下,该类芯片是一个系列有不同的DAC分辨率,看工程实际使用的型号Quad, 12-/14-/16-Bit nanoDACs

软件设计

IIC管脚初始化

针对ad5665的一些宏定义

 

 

本文涉及文档工程代码,下载地址如下

ad5665rSTM32GD32IIC驱动设计,驱动程序在AD公司提供例程上修改得到,IO模拟的方式进行IIC通信资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/102053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统之ip命令的基本使用

Linux系统之ip命令的基本使用 一、ip命令介绍1.1 ip命令简介1.2 ip命令的由来1.3 ip命令的安装包 二、ip命令使用帮助2.1 ip命令的help帮助信息2.2 ip命令使用帮助 三、查看网络信息3.1 显示当前网络接口信息3.2 显示网络设备运行状态3.3 显示详细设备信息3.4 查看路由表3.5 查…

Android - AsyncTask

一、概念 是一个抽象泛型类,由 Android 封装的一个轻量级异步类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI。 内部封装了两个线程池(SerialExecutor、THREAD_POOL_EXECUTOR&#x…

Elasticsearch 分片内部原理—近实时搜索、持久化变更

目录 一、近实时搜索 refresh API 二、持久化变更 flush API 一、近实时搜索 随着按段(per-segment)搜索的发展,一个新的文档从索引到可被搜索的延迟显著降低了。新文档在几分钟之内即可被检索,但这样还是不够快。 磁盘在这…

2023年中国车用磁传感器市场发展趋势分析:未来市场规模将保持较高速增长趋势[图]

磁传感器是把磁场、电流、应力应变、温度、光等外界因素引起敏感元件磁性能变化转换成电信号,以这种方式来检测相应物理量的器件。磁传感器广泛用于现代工业和电子产品中以感应磁场强度来测量电流、位置、方向等物理参数。在现有技术中,有许多不同类型的…

WIN10如何搭建自己的博客

引言: 路线说明: 在CSDN,博客园,简书等平台,可以直接在上面发表,用户交互做的好,写的文章百度也能搜索的到,这样速度也是最快的,不费心运营啥的。缺点是比较不自由&…

nginx配置netty

一、安装支持stream的nginx版本: 1、首先,先下载nginx的rpm包,下载地址:http://nginx.org/packages/centos/7/x86_64/RPMS/ 下载 nginx-1.20.1-1.el7.ngx.x86_64.rpm2、执行安装命令: 然后,将下载好的rp…

opencv读取摄像头并读取时间戳

下面这行代码是获取摄像头每帧的时间戳: double timestamp cap.get(cv::CAP_PROP_POS_MSEC); 改变帧率的方法是: cap.set(cv::CAP_PROP_FPS, 30); //帧率改为30 但是实际测试时发现帧率并未被改变,这个可能和VideoCapture cap(cv::CAP_V…

clustershell

https://clustershell.readthedocs.io/en/latest/tools/index.html clush nodeset clustershell安装 yum --enablerepoextras install epel-release yum install clustershell python2-clustershellClusterShell的Python 3子软件包(非必须) yum install python34-clustersh…

Flink 中kafka broker缩容导致Task一直重启

背景 Flink版本 1.12.2 Kafka 客户端 2.4.1 在公司的Flink平台运行了一个读Kafka计算DAU的流程序,由于公司Kafka的缩容,直接导致了该程序一直在重启,重启了一个小时都还没恢复(具体的所容操作是下掉了四台kafka broker&#xff0…

LuatOS-SOC接口文档(air780E)-- ftp - ftp 客户端

ftp.login(adapter,ip_addr,port,username,password)# FTP客户端 参数 传入值类型 解释 int 适配器序号, 只能是socket.ETH0, socket.STA, socket.AP,如果不填,会选择平台自带的方式,然后是最后一个注册的适配器 string ip_addr 地址 string port 端口,默认21 string…

工作杂记-YUV的dump和read

工作小记-YUV的dump和read 工作杂记-YUV的dump和read利用dump生成图片 yuv2imgyuv2img代码 工作杂记-YUV的dump和read 工作中涉及到模型验证相关的工作,这里是三个模型的共同作用,在感知模型读取图片的时候,把输入替换成自己给定的输入&…

MySQL索引事务

一、索引 使用一定的数据结构,来保存索引字段对应的数据,以后根据索引字段来检索,就可以提高检索效率。 一定的数据结构-->需要一定的空间来保存 建立索引:类似于建立书籍目录或者手机电话簿 使用索引:查询条件…

HiSilicon352 android9.0 emmc添加新分区

添加新分区 从emmc中单独划分出一个分区,用来存储相关数据(可用于存储照片,视频,音乐和文档等)或者系统日志log,从而不影响到其他分区。 实现方法: device/hisilicon/Hi3751V350/etc/Hi3751V3…

Spring Boot RESTful API

学习到接口部分了,记录一下 关于restful api感觉这篇文章讲的十分详细且通俗易懂一文搞懂什么是RESTful API - 知乎 (zhihu.com) Spring Boot 提供的 spring-boot-starter-web 组件完全支持开发 RESTful API ,提供了 GetMapping:处理get请求…

Java中如何在两个线程间共享数据

Java中如何在两个线程间共享数据 在Java中,在两个线程之间共享数据是常见的需求,但需要小心处理以确保线程安全性。有多种方式可以在两个线程之间共享数据,下面将详细介绍这些方式,以及它们的优缺点。 方式1:共享可变…

VBA入门2——程序结构

VBA基础入门2 VBA 程序结构VBA 程序结构入门(认识 VBA 程序骨架)循环结构判断结构 VBA 变量的声明和赋值(使程序动起来)不同变量类型声明语句如何声明多个变量声明变量是必须的嘛?变量赋值 VBA 程序顺序结构&#xff0…

【原创】ubuntu18修改IP地址

打开网络配置文件 sudo vi /etc/network/interfaces结果发现如下内容: # ifupdown has been replaced by netplan(5) on this system. See # /etc/netplan for current configuration. # To re-enable ifupdown on this system, you can run: # sudo apt inst…

3.3 数据定义

思维导图: 前言: **核心概念**: - 关系数据库支持**三级模式结构**:模式、外模式、内模式。 - 这些模式中包括了如:模式、表、视图和索引等基本对象。 - SQL的数据定义功能主要包括了模式定义、表定义、视图和索引的定…

bootz启动 Linux内核过程中涉及的 do_bootm_states 函数

一. bootz启动Linux uboot 启动Linux内核使用bootz命令。当然还有其它的启动命令,例如,bootm命令等等。 本文只分析 bootz命令启动 Linux内核的过程中涉及的几个重要函数。具体分析 do_bootm_states 函数执行过程。 本文继上一篇文章,地址…

Axure常用技巧及问题

以下内容将持续更新 目录 一、技巧1、版本选择2、快捷键3、定制工具栏 二、问题1、无法在浏览器预览2、发布到本地的HTML无法查看 一、技巧 1、版本选择 2、快捷键 3、定制工具栏 上方菜单栏-右键-自定义工具栏 二、问题 1、无法在浏览器预览 需要更改Axure配置 点击发布-…