主题中讨论的其他器件:TLV5608、
大家好、 我正在 STM32H7 MCU 中工作、采用 TI TLV5608和 TLV1570 ADC DAC 进行数据收集、我会申请任何 MCU 上的示例代码、例如 MSP430或 TM4C123G 使用 SPI 连接到 ADC/DAC。 我还需要诸如 tlv5608.h、tlv5608.c 和 tlv1570.h、tlv1570.c 的库文件。
任何其他文档和代码将非常感谢,请帮助尽快回复, thnaks, woldes。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、 我正在 STM32H7 MCU 中工作、采用 TI TLV5608和 TLV1570 ADC DAC 进行数据收集、我会申请任何 MCU 上的示例代码、例如 MSP430或 TM4C123G 使用 SPI 连接到 ADC/DAC。 我还需要诸如 tlv5608.h、tlv5608.c 和 tlv1570.h、tlv1570.c 的库文件。
任何其他文档和代码将非常感谢,请帮助尽快回复, thnaks, woldes。
来吧!
您好、Tom、我正在寻找这样的内容:
/** adc.c * /
#包含 MCP3008.h"
/* *设置 MISO、MOSI、SCK 和 CS
* SPI 设置:
* CPHA = 1边缘
*预分频值= 8
*第一个位= MBS 优先
* CPOL =低
*/
空 MCP3008_初始化 ( MCP3008_SPI * SPI , SPI_HandleTypeDef * hspi , GPIO_typedef 创建 * 端口 , uint16_t CS 引脚 ){
SPI -> hspi = hspi ;
SPI -> 端口 = 端口 ;
SPI -> CS 引脚 = CS 引脚 ;
}
//从0到7读取通道
uint16_t MCP3008_ Read_Channel ( MCP3008_SPI * SPI , uint8_t 通道 ){
//声明我们要发送的数据
uint8_t pTxData [ 3 ] = { 0 };
pTxData [ 0 ] = (( 0x01 << 7 ) | //起始位
( 1 << 6 ) | // SGL
(( 通道 和 0x07 ) << 3 ); //通道编号
pTxData [ 1 ] = 0x00 ;
pTxData [ 2 ] = 0x00 ;
//我们将获得的数据
uint8_t pRx 数据 [ 3 ] = { 0 };
// CS 低电平、发送和接收、CS 高电平
HAL_GPIO_WritePin ( SPI -> 端口 , SPI -> CS 引脚 , GPIO_PIN_RESET );
HAL_SPI_TransmitReceive (HAL_SPI_TransmitReceive) ( SPI -> hspi , pTxData , pRx 数据 , 3 , 10 );
HAL_GPIO_WritePin ( SPI -> 端口 , SPI -> CS 引脚 , GPIO_PIN_SET );
//计算 ADC
返回 0x3FF 和 (( pRx 数据 [ 0 ] 和 0x01 ) << 9 | ( pRx 数据 [ 1 ] 和 0xFF ) << 1 | ( pRx 数据 [ 2 ] 和 0x80 ) >> 7 );
}
附录四.
以及对于 ADC.h
/* ADC.h */
#ifndef MCP3008_MCP3008_H_
#define MCP3008_MCP3008_H_
#包含 "main.h"
typedef 创建 结构体 {
GPIO_typedef 创建 * 端口 ;
uint16_t CS 引脚 ;
SPI_HandleTypeDef * hspi ;
} MCP3008_SPI ;
空 MCP3008_初始化 ( MCP3008_SPI * SPI , SPI_HandleTypeDef * hspi , GPIO_typedef 创建 * 端口 , uint16_t CS 引脚 );
uint16_t MCP3008_ Read_Channel ( MCP3008_SPI * SPI , uint8_t 通道 );
#endif /* MCP3008_MCP3008_H_*/
......
大家好,Tom,我管理了在 STM32H7上工作的 SPI,能够使用 SPI 发送和接收, 并且我能够使用示波器4自动扫描模式(0x0480、0x0480、0x0400、0x0480)、TLV1570数据表的第7页复制相同的命令/数据波形并在示波器上捕获(请参阅随附的)、但 SD OUT 引脚上没有输出。 I m 仅在 Ch0引脚、1通道上改变0~5V 输入。 FS 连接至5V、Vref 连接至3.3V、AVdd 并 DVdd 连接至5V、AIN 短接至 MO。 有人可以建议哪里出了问题吗?
主要()
{
……
SPI_WRITE (0x480);
while (1)
{
SPI_WRITE (0x0480);
SPI_READ (0x0400)
……;
}
尊敬的 Stan:
您可能需要在模拟输入之前铅笔输入放大器:
https://www.ti.com/video/5476574757001?keyMatch=SAR%20ADC%20DRIVE
您好、Tom、I m 使用 TLV5608、从第11页数据表来看 I m 假设 FS 为 ADC 中的 CS、并在 SPI 发送完成后取消置位、将 FS 设置为正确吗? I m 写入(SPI 写入) 0,004,0000008001001000200200040、 0,080,01001000200十六进制至 DIN、I m 在引脚12上选择 O/P 通道 DAC A。、并期望看到电压表上的读数跳跃 、但 DAC A 上没有读数。LDAC 至 GND、MODE 至5V 、Vref 至3.3V FYI、Pls 帮助。