项目进展(九)-完善ADS1285代码

一、读寄存器数据

目前读取寄存器已经成功,下图是写入的三个寄存器的值,第二张图是仿真测试的结果。
项目进展(九)-完善ADS1285代码_第1张图片

项目进展(九)-完善ADS1285代码_第2张图片

二、读转换数据

在前面的博客项目进展(七)-焊接ADS1285及其外围电路,学习芯片的SPI部分中,出现了一些错误的地方,再次纠正一下:
项目进展(九)-完善ADS1285代码_第3张图片
此处我理解错了,12h是读取数据指令,所以在写代码时,需要先写入0x12,再连续接收四个字节数据:

	ADC_X_CS_LOW;  // 拉低CS引脚
	HAL_SPI_Transmit(&hspi2,(uint8_t *)&command,1,10);
	for(i=0;i<4;i++)
	{
		HAL_SPI_Receive(&hspi2,(uint8_t *)&Data[i],1,10);// 读取数据
	}
	ADC_X_CS_HIGH;  // 拉低CS引脚	

下图是仿真测试读取的数据:
项目进展(九)-完善ADS1285代码_第4张图片
下面来看一下波形图:
项目进展(九)-完善ADS1285代码_第5张图片
第一个字节:
项目进展(九)-完善ADS1285代码_第6张图片
第二个字节:
项目进展(九)-完善ADS1285代码_第7张图片
第三个字节:
项目进展(九)-完善ADS1285代码_第8张图片
第四个字节:
项目进展(九)-完善ADS1285代码_第9张图片
从DOUT测试的波形与仿真的数据一一对应,说明测试成功。
当然这也是最基本的功能,该芯片还有很多细节地方,还需要继续学习。

三、往期回顾

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

你可能感兴趣的:(Balance项目,STM32,嵌入式,SPI,ADS1285)