当前位置: 首页 > news >正文

项目进展(八)-编写代码,驱动ADS1285

一、代码

根据芯片的数据手册编写部分驱动,首先看部分引脚的波形:
DRDY:
在这里插入图片描述
CS:
在这里插入图片描述
首先在代码初始化时连续写入三个寄存器:

void WriteReg(uint8_t startAddr, uint8_t *regData, uint8_t number)
{uint8_t  i=0;// 循环写number+1次// 根据手册说明,若写入number个寄存器,则该位为number-1uint8_t subNumber = number-1; regData[1] = subNumber;  // 拉低CS引脚ADC_X_CS_LOW; // 循环写nuber+2次 for(i=0;i<number+2;i++){writeData = regData[i];HAL_SPI_Transmit(&hspi2,(uint8_t *)&writeData,1,10);}// 拉高CS引脚ADC_X_CS_HIGH;  
}

三个寄存器初始化(随便写的):

	data[0] = 0x00;// 地址data[1] = 0x02;// 个数(number-1,例如若写入的寄存器为3个,则该值为2)data[2] = 0x00;// 寄存器1的值data[3] = 0x40;// 寄存器2的值data[4] = 0x08;// 寄存器3的值WriteReg(0x00,data,3);

以上代码都是根据数据手册写的,可以参考下图:
在这里插入图片描述
或者参考上一篇博客"项目进展(七)-焊接ADS1285及其外围电路,学习芯片的SPI部分"中2.3节。
下面是波形图:
在这里插入图片描述
下面是放大后的数据波形图(注意,该芯片采用SPI第一种模式,CLK空闲时间为低,第一个上升沿采集数据):
①起始地址(data[0] = 0x00):
在这里插入图片描述
②要写入的寄存器个数(data[1] = 0x02):
在这里插入图片描述
③寄存器1(data[2] = 0x00):
在这里插入图片描述
④寄存器2(data[3] = 0x40):
在这里插入图片描述
⑤寄存器3(data[4] = 0x08):
在这里插入图片描述
不过目前读取数据时还存在问题,读取的数据不正确,还需要继续阅读数据手册,然后代码。
再次补充一点,前面代码写的有些错误,具体还是得看数据手册
在这里插入图片描述
在这里插入图片描述
目前还是有问题,需要后续继续查看手册,解决问题

二、往期回顾

项目进展(一)-晶振正常输出、焊接驱动芯片、查找芯片手册并学习
项目进展(二)-配置MCT8316ZR芯片,主要学习如何根据数据手册配置外设等
项目进展(三)-电机驱动起来了,发现了很多关键点,也遇到了一些低级错误
项目进展(四)-双电机均可驱动,配置模拟SPI,调平仪功能初步实现!
项目进展(五)-修复PCB电路板,学习32位ADC芯片ADS1285
项目进展(六)-继续学习32位ADC芯片ADS1285
项目进展(七)-焊接ADS1285及其外围电路,学习芯片的SPI部分

http://www.lryc.cn/news/183046.html

相关文章:

  • 【MyBatis-Plus】快速精通Mybatis-plus框架—快速入门
  • docker 安装kafka
  • 容器内获得apiserver地址
  • linux服务端c++开发工具介绍(vscode版)
  • Linux常用命令大全
  • Python中取2023, 9, 1——2023, 10, 31的全部时间
  • 创建django文件
  • 全排列[中等]
  • mybatise-plus的id过长问题
  • 图示矩阵分解
  • 六、互联网技术——数据存储
  • 六、vpp 流表+负载均衡
  • word已排序好的参考文献,插入新的参考文献,序号更新
  • 二叉树的顺序存储——堆——初识堆排序
  • CYEZ 模拟赛 9
  • typescript: Builder Pattern
  • WPS/word 表格跨行如何续表、和表的名称
  • Python的NumPy库(一)基础用法
  • uniapp app 导出excel 表格
  • 【RabbitMQ】常用消息模型详解
  • 图像拼接后丢失数据,转tiff报错rasterfile failed: an unknown
  • Nginx之日志模块解读
  • latex方程组编写,一种可以保证方程编号自适应的方法
  • 深度学习基础 2D卷积(1)
  • OpenCV DNN C++ 使用 YOLO 模型推理
  • 第八章 Linux文件系统权限
  • XXL-JOB源码梳理——一文理清XXL-JOB实现方案
  • java做个qq机器人
  • 前端 | AjaxAxios模块
  • 高效的ProtoBuf