STM32F103RCT6驱动AD7705(cubeide)

首先在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)的更多相关文章
- 电赛总结(二)——AD芯片总结之AD7705
1.特性参数 (1)16位无丢失代码性AD转化器 (2)只需要3.3V供电(即只需要单片机即可供电) (3)双通道差分输入 (4)基准电压为2.5V时,在单极性信号下,输入范围是0到2.5V,在双极性 ...
- STM32驱动ILI9341控制器控制TFTLCD显示
STM32驱动ILI9341控制器控制TFTLCD显示 一.用STM32控制TFTLCD显示的编程方法,在编程驱动TFTLCD液晶显示器之前,我们先熟悉以下概念: 1.色彩深度,这是一个与TFTLCD ...
- 【安富莱】V6,V5开发板用户手册,重在BSP驱动包设计方法,HAL库的框架学习,授人以渔(2019-11-04)
说明: 1.本教程重在BSP驱动包设计方法和HAL库的框架学习,并将HAL库里面的各种弯弯绕捋顺,从而方便我们的程序设计. 2.本次工程延续以往的代码风格,从底层BSP驱动包到应用代码,变量命名,文件 ...
- 领域驱动和MVVM应用于UWP开发的一些思考
领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...
- 浅谈我对DDD领域驱动设计的理解
从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决. 比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能够在线上也能销售自己的产品 ...
- “四核”驱动的“三维”导航 -- 淘宝新UI(需求分析篇)
前言 孔子说:"软件是对客观世界的抽象". 首先声明,这里的"三维导航"和地图没一毛钱关系,"四核驱动"和硬件也没关系,而是为了复杂的应用而 ...
- DDD 领域驱动设计-看我如何应对业务需求变化,愚蠢的应对?
写在前面 阅读目录: 具体业务场景 业务需求变化 "愚蠢"的应对 消息列表实现 消息详情页实现 消息发送.回复.销毁等实现 回到原点的一些思考 业务需求变化,领域模型变化了吗? 对 ...
- DDD 领域驱动设计-商品建模之路
最近在做电商业务中,有关商品业务改版的一些东西,后端的架构设计采用现在很流行的微服务,有关微服务的简单概念: 微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独 ...
- DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(3)
上一篇:<DDD 领域驱动设计-谈谈 Repository.IUnitOfWork 和 IDbContext 的实践(2)> 这篇文章主要是对 DDD.Sample 框架增加 Transa ...
- DDD 领域驱动设计-两个实体的碰撞火花
上一篇:<DDD 领域驱动设计-领域模型中的用户设计?> 开源地址:https://github.com/yuezhongxin/CNBlogs.Apply.Sample(代码已更新) 在 ...
随机推荐
- unity简单物理系统
目录 技术概述 技术详述 2D物理系统组件 刚体 碰撞器 物理材质 碰撞检测函数 在主角中的使用 移动 长跳跃与短跳跃 二段跳 攀爬(蹬墙跳) 技术使用中遇到的问题和解决过程 技术概述 物理系统,就是 ...
- pyinstaller根据虚拟环境virtualenv进行打包,降低exe文件大小
问题:使用pyinstaller打包后,发现打的exe特别大,有近200M,又没有用几个库,代码也很少,怎么会打出这么大的包呢? 分析:在pyinstaller打包的过程中,可以看到窗口中出现了很多本 ...
- [部署日记]Android Studio在安装完后,sdk依旧提示SDK emulator directory is missing
问题起源: 今天在闲着没事搞了个go的rest-api,用postman测试了一下可行,于是一拍大腿决定写一个安卓手机程序,于是一拍大腿重新下载了卸载没多久因为没空间放原神的Android Studi ...
- 小程序Excel导入导出数据库功能
https://blog.csdn.net/yhcad/article/details/116204444 unit Umain;interfaceuses Winapi.Windows, Wina ...
- Vue案例——todolist
最近在学习vue,实现todolist案例,实现效果如下: 该案例分为四个部分:header为输入框,body为列表,item是列表中的条目,footer为最下方的统计. 实现步骤: ①创建项目 vu ...
- 滚动 Scroller OverScroller
原文:https://www.baidu.com/link?url=26iKhqGV7w87fqTiCTCwQc3VPcCbedUpAlddWm3uHsEXAGaeH47xY8QCZNGcORGBAU ...
- Mac下Virtual Box 6.1 Host-Only 网络配置 没有虚拟网卡
Virtual Box 6.1 mac下 Virtual Box Host-Only 没有 vboxnet0 点击 tools -> 右边的三杆,点 Network 可以添加,修改,删除 虚拟 ...
- TCP 粘包/拆包的原因及解决方法?
TCP是以流的方式来处理数据,一个完整的数据包可能会被TCP拆分成多个包进行发送,也可能把多个小的包封装成一个大的数据包.由于TCP数据包之间没有边界保护,所以当发生粘包或拆包时,接收端难以从数据流中 ...
- STM32中HAL库和标准库的区别
转载自:https://www.lmonkey.com/t/RwykY8bBX STM32标准库与HAL库比较 ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL ...
- python生成随机中文姓名和拼音
def sayhello(): print('hellopython') import pinyin import random def random_name(): # 删减部分,比较大众化姓氏 f ...