首先在cubeide上配置spi,使用spi1,由于正点开发板上的nr24l01与ad7705正好相同,因此根据引脚配置PA1为DRDY,PC4为CS片选


根据手册上所写,配置寄存器初始化

uint8_t commue(uint8_t Dst_Addr)
{uint8_t RXdata;
HAL_SPI_TransmitReceive(&hspi1,&Dst_Addr,&RXdata,1, 1000);
return RXdata;
}
void Init_AD7705(void)
{
for(int i=0;i<150;i++)commue(0xff);//持续DIN高电平写操作,恢复AD7705接口
HAL_Delay(1);
commue(0x20); /* 选择时钟寄存器*/
HAL_Delay(1);
commue(0x0c); /* 配置时钟寄存器*/
HAL_Delay(1);
commue(0x10); /*选择设置寄存器*/
HAL_Delay(1);
commue(0x44);/*配置设置寄存器 */
}

读取通道一数据

uint16_t GetData7705_CH1(void)
{
uint16_t DataL = 0,DataH = 0;
HAL_Delay(1);
commue(0x38); //选中CH1数据寄存器读
while(HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1)==GPIO_PIN_SET){;}
////待数据准备好AdDrdy=0
delay_us(20);
DataH=commue(0xff);
DataL=commue(0xff);
delay_us(100);
DataH = DataH << 8;
return (DataH | DataL);
}

计算出电压值(mv)

float ADC_7705(void)
{
Init_AD7705();
float RCH1_16bit=GetData7705_CH1();
return (RCH1_16bit*5049.0/65535); //算出通道1电压
}

STM32F103RCT6驱动AD7705(cubeide)的更多相关文章

  1. 电赛总结(二)——AD芯片总结之AD7705

    1.特性参数 (1)16位无丢失代码性AD转化器 (2)只需要3.3V供电(即只需要单片机即可供电) (3)双通道差分输入 (4)基准电压为2.5V时,在单极性信号下,输入范围是0到2.5V,在双极性 ...

  2. STM32驱动ILI9341控制器控制TFTLCD显示

    STM32驱动ILI9341控制器控制TFTLCD显示 一.用STM32控制TFTLCD显示的编程方法,在编程驱动TFTLCD液晶显示器之前,我们先熟悉以下概念: 1.色彩深度,这是一个与TFTLCD ...

  3. 【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔(2019-11-04)

    说明: 1.本教程重在BSP驱动包设计方法和HAL库的框架学习,并将HAL库里面的各种弯弯绕捋顺,从而方便我们的程序设计. 2.本次工程延续以往的代码风格,从底层BSP驱动包到应用代码,变量命名,文件 ...

  4. 领域驱动和MVVM应用于UWP开发的一些思考

    领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...

  5. 浅谈我对DDD领域驱动设计的理解

    从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决. 比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能够在线上也能销售自己的产品 ...

  6. “四核”驱动的“三维”导航 -- 淘宝新UI(需求分析篇)

    前言 孔子说:"软件是对客观世界的抽象". 首先声明,这里的"三维导航"和地图没一毛钱关系,"四核驱动"和硬件也没关系,而是为了复杂的应用而 ...

  7. DDD 领域驱动设计-看我如何应对业务需求变化,愚蠢的应对?

    写在前面 阅读目录: 具体业务场景 业务需求变化 "愚蠢"的应对 消息列表实现 消息详情页实现 消息发送.回复.销毁等实现 回到原点的一些思考 业务需求变化,领域模型变化了吗? 对 ...

  8. DDD 领域驱动设计-商品建模之路

    最近在做电商业务中,有关商品业务改版的一些东西,后端的架构设计采用现在很流行的微服务,有关微服务的简单概念: 微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独 ...

  9. DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(3)

    上一篇:<DDD 领域驱动设计-谈谈 Repository.IUnitOfWork 和 IDbContext 的实践(2)> 这篇文章主要是对 DDD.Sample 框架增加 Transa ...

  10. DDD 领域驱动设计-两个实体的碰撞火花

    上一篇:<DDD 领域驱动设计-领域模型中的用户设计?> 开源地址:https://github.com/yuezhongxin/CNBlogs.Apply.Sample(代码已更新) 在 ...

随机推荐

  1. 一套 .NET开发的邮箱Mail开源库

    今天给大家推荐一个基于.Net开发的邮箱开源库. 邮箱在我们日常工作中,可以说是非常常见了.个人邮箱一般都是免费的,但企业邮箱会收费,虽然一般情况下,市面邮箱已经够用了.但有些企业对内容安全要求比较严 ...

  2. Python 常见报错类型整理(一)

    很多初学者会遇到很多奇奇怪怪的报错信息,在这里,我为大家已经准备好一部分报错信息的分析以及解决办法. 一.TypeError:类型错误,对象用来表示值的类型非预期类型时发生的错误 错误例子: age= ...

  3. 230219 Business 31-48

    31.  31: Maternity LeaveVeronica, when is your baby due?Next month.Are you going on maternity leave? ...

  4. Darknet网络代码

    Darknet网络代码  import math from collections import OrderedDict import torch import torch.nn as nn impo ...

  5. 事务(Transaction)逻辑应用

    1.什么是事务? 是一个逻辑工作单元,这个工作单元中的所有操作,要么都成功,要么都失败 2.事务是如何保证数据的正确性的? 通过事务的四大特性:原子性.一致性.隔离性.持久性 原子性(Atomicit ...

  6. @JsonFormat

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8" 不管是前端传后台,还是后台传前端, ...

  7. mybatis-plus逻辑删除deleted

    项目中数据库表设计原则用到了逻辑删除:数据本身没有被删除,只是将deleted字段设置为1 mybatis-plus在逻辑删除方面的设置如下: mybatis-plus: configuration: ...

  8. 【阿里云ACP】-02(弹性储存、对象储存OSS)

    弹性网卡 弹性网卡: 是一种可以附加到专有网络VPC类型ECS实例上的虚拟网卡.通过弹性网卡,您可以在任何阿里云地域下实现高可用集群搭建.低成本故障转移和精细化的网络管理. 弹性网卡属性: 属性 规格 ...

  9. 压缩打包,tar

    压缩打包命令 创建压缩包 tar -zcvf /home/xxxx.tar.gz /xahot 解压 tar -zxvf xxx.tar.gz gzip   xxxx  自动变为 xxx.gz

  10. 图片上传造成VS关闭

    原来的地方:https://q.cnblogs.com/q/129719/ VS2019开启调试,测试图片上传的时候,一点到图片上传,直接导致VS调试崩掉,返回 程序"[14764] iis ...