提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在使用TM7705国产的这款ADC芯片的时候,有很多坑,也是我在使用的时候没注意到的点,下面记录一下,给后面的使用者一些提醒,也请使用过的人多多评论一些注意事项。
代码参考 https://blog.youkuaiyun.com/cugautozp/article/details/108032819
测试代码 https://download.youkuaiyun.com/download/qq_31366371/86404347
一、首先需要注意的是SPI模式
TM7705的SPI模式3,即CLK空闲状态为高电平,数据点在上升沿采样(MOSI),在下降沿移出(MISO)CPOL = 1,CPHA = 1;在配置STM32cube的时候要注意SPI模式,否则TM7705不会正常工作
二、在配置设置寄存器之后会有一个新数据
这个就需要去读取新的数据,我发现使用DRDY读取管脚电平的时候,读取数据不正常。只有读取对应通道的寄存器才正常。
这个数据手册也没说清楚,不知道是我理解有问题还是什么,有知道的朋友可以留言讨论一下。
//完成设置寄存器之后读取,取出自校准的值
uint8_t dataReady(uint8_t channel)
{
uint8_t b1;
uint8_t data = 0x00;
setNextOperation(0x00, channel, 1);//
CS_ADC_LOW(); //使能器件
HAL_SPI_TransmitReceive(&hspi1, &data, &b1, 1, 10);
CS_ADC_HIGH(); //使能器件
return (b1 & 0x80) == 0x0;
}