gd32f103 调试 ad7606
使用的是spi接线方式,需要注意DB7数据线也就是MISO,接一根就行,也不需要给ad7606发数据。而且最重要的是DB15需要接地,是串口并口选择线,会影响数据的稳定性。
用cubemx生成stm32的工程然后用GD的库编译,生成时可以选择
/* SPI1 init function */
void MX_SPI1_Init(void)
{
hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER;
hspi1.Init.Direction = SPI_DIRECTION_2LINES_RXONLY;
hspi1.Init.DataSize = SPI_DATASIZE_16BIT;
hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
hspi1.Init.NSS = SPI_NSS_SOFT;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_256;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi1.Init.CRCPolynomial = 7;
if (HAL_SPI_Init(&hspi1) != HAL_OK)
{
Error_Handler();
}
}
SPI_DIRECTION_2LINES_RXONLY,只读,就少一根线。
SPI_DATASIZE_16BIT,数据16位模式,每次可以读两字节。
可以直接用16位数组读取8通道的数据。但是hal库spi接收函数是uint8_t,可以直接强转。因为配置的是16位宽,是所以返回的就是16位数据。
如下:
uint16_t adRxBuf_M1[8] = {0};
int16_t adRxData_M1[8] = {0};
void ad7606_IRQSrc(void)
{
uint8_t i=0;
AD_CS_L();
ad7606_RecvData(); //先读一次数据,再读8数据
HAL_SPI_Receive(&hspi1, (uint8_t*)adRxBuf_M1, 8, 10);
AD_CS_H();
for(i=0; i<8; i++)
{
adRxData_M1[i] = ((int32_t)5000)*((float)((short)adRxBuf_M1[i])/32768);
}
ad7606_StartConv();
}
gd32f103 调试 ad7606相关推荐
- AD7606(并行8080方式)的STM32F103ZET6配置
注:程序压缩包在我的下载中心有,逐个发有点多,请大家谅解,而且这个配置下面就是,主程序无非就是调用 最近在调试AD7606,发现网上的资料都是STM32F4系列的8080程序,故此将自己调试成功的F1 ...
- GD32F303调试小记(一)之USART(接收中断、接收空闲中断+DMA、发送DMA)
前言 之前写了GD32F103调试小记(二)之USART(接收中断.接收空闲中断+DMA.发送DMA)一文.这次我们来看看GD32F303的USART是如何配置的,结合这两篇文章,相信大家GD32的U ...
- AD7606调试笔记
文章目录 AD7606接线图 AD7606SPI通讯接口说明 AD7606时序图 AD7606时序图讲解 AD7606 STM32引脚配置 AD7606 程序模块 遇到的问题以及总结 由于训练电赛,需 ...
- 正点原子STM32F407+AD7606+RT-Thread Studio 调试记录
介绍 项目要求采集6路压力传感器1-5V数据. 经过选型比较,选择AD7606 8通道采样器件,从淘宝买的采样模块. 时序图 说明:图一是整体的一个时序框图,大体的逻辑就是在使用AD7606之前要先复 ...
- AD7606调试笔记:采集多路不正常,少采集几路就正常
AD7606调试笔记:采集多路不正常,少采集几路就正常了 文章目录 AD7606调试笔记:采集多路不正常,少采集几路就正常了 问题描述: 查错方案: 处理速度不够 时序不对 解决办法 延时 转换完成读 ...
- AD7606调试过程与源码
公司有一个项目用到了AD7606,控制器用的STM32,使用的模式是并行16位模式,程序刷好之后发现读取的AD数据乱码,结果发现是因为AD7606的接地不对,当然这个问题是我师傅找出来的,查找的过程如 ...
- 带有128KB缓存的AD7606模拟采集板
01简介 构建多路16bit的AD采集器,并可以进行高速缓存,对于采集静态电压,还是动态波形都非常有利.在23LC1024四线访问数据博文中介绍了对扩展SPI接口RAM(128kB)的四线制高速访问的 ...
- AD7606八通道AD采集模块测试
前言 购买到的AD7606八通道AD转换模块可以用于各种实验.本文就该模块的基本性能进行测试. ▲ 模块基本信息 简介 相应的资料可以在AD7606百度网盘下载,提取文件密码:6f5g. https: ...
- AD7606数据转换
AD7606 数据采集模块,16位ADC,8通道同时200KHz频率采集,每秒8*200K样本.SPI接口或8080 16位并口,可自行选择. AD7606 数据采集模块特性:使用AD7606 高精度 ...
最新文章
- 用Python解“爬动的蠕虫”题
- Database Connection String
- C#引用类型转换的几种方式
- 【theano-windows】学习笔记九——softmax手写数字分类
- Docker小白到实战之容器数据卷,整理的明明白白
- 欢乐纪中某A组赛【2019.7.10】
- AtCoder Grand Contest 025
- JOOQ事实:从JPA批注到JOOQ表映射
- 分享到系统面板_win7电脑没有nvidia控制面板怎么办【解决方法】
- spark BlockManager如何实现Broadcast广播
- oracle11g arm,linux最全的需要oracle11g的rpm包
- 【toplink】 位居第一的Java对象关系可持续性体系结构
- iOS:在OC中调用JS脚本
- Shell命令-线上查询及帮助之man、help
- html css屏蔽右键,css右键菜单.html
- 并行与分布式计算复习大纲 华南农业大学
- CSS3精灵(Sprites)技术
- 大师如何炼成 罗杰斯“不从众”的成功之道
- hackinglab.cn 注入关之一
- 2018/5/25-2018/6/7